SlideShare uma empresa Scribd logo
Escrever e Ler arquivos com Java
Manipulando arquivos com Java
(por Hallan Medeiros)
Praticamente todos que trabalham com desenvolvimento, de uma forma ou de
outra, acabam tendo que manipular arquivos, sejam eles de texto, planilhas ou
gerar relatórios. A seguir será visto como manipular arquivos com Java, bem como
escrever e ler arquivos no formato de texto (txt).
A manipulação de arquivos em Java acontece de forma simples e rápida, pois a
linguagem dispõe de classes que executam praticamente todas as operações
necessárias para tanto.
java.io.File
A classe File representa um arquivo ou diretório no sistema operacional.
Importante saber que apenas REPRESENTA, não significa que o arquivo ou
diretório realmente exista.
Para instanciar um objeto do tipo File:
1 File arquivo = new File( "/home/hallan/nome_do_arquivo.txt" );
Com o objeto instanciado, é possível fazer algumas verificações, como por
exemplo se o arquivo ou diretório existe:
1
2
//verifica se o arquivo ou diretório existe
boolean existe = arquivo.exists();
Caso não exista, é possível criar um arquivo ou diretório:
1
2
3
4
5
//cria um arquivo (vazio)
arquivo.createNewFile();
//cria um diretório
arquivo.mkdir();
caso seja um diretório, é possível listar seus arquivos e diretórios através do
método listFiles(), que retorna um vetor de File:
1
2
//caso seja um diretório, é possível listar seus arquivos e diretórios
File [] arquivos = arquivo.listFiles();
É possível também excluir o arquivo ou diretório através do método delete(). Uma
observação importante é que, caso seja um diretório, para poder excluir, este tem
de estar vazio:
1
2
//exclui o arquivo ou diretório
arquivo.delete();
java.io.FileWriter e java.io.BufferedWriter
As classes FileWriter e BufferedWriter servem para escrever em arquivos de texto.
A classe FileWriter serve para escrever diretamente no arquivo, enquanto a classe
BufferedWriter, além de ter um desempenho melhor, possui alguns métodos que
são independentes de sistema operacional, como quebra de linhas.
Para instanciar um objeto do tipo FileWriter:
1
2
3
4
5
6
//construtor que recebe o objeto do tipo arquivo
FileWriter fw = new FileWriter( arquivo );
//construtor que recebe também como argumento se o conteúdo será acrescentado
//ao invés de ser substituído (append)
FileWriter fw = new FileWriter( arquivo, true );
A criação do objeto BufferedWriter:
1
2
//construtor recebe como argumento o objeto do tipo FileWriter
BufferedWriter bw = new BufferedWriter( fw );
Com o bufferedwriter criado, agora é possível escrever conteúdo no arquivo
através do método write():
1
2
3
4
5
//escreve o conteúdo no arquivo
bw.write( "Texto a ser escrito no txt" );
//quebra de linha
bw.newLine();
Após escrever tudo que queria, é necessário fechar os buffers e informar ao
sistema que o arquivo não está mais sendo utilizado:
1
2
3
//fecha os recursos
bw.close();
fw.close();
java.io.FileReader e java.io.BufferedReader
As classes FileReader e BufferedReader servem para ler arquivos em formato
texto.
A classe FileReader recebe como argumento o objeto File do arquivo a ser lido:
1
2
//construtor que recebe o objeto do tipo arquivo
FileReader fr = new FileReader( arquivo );
A classe BufferedReader, fornece o método readLine() para leitura do arquivo:
1
2
//construtor que recebe o objeto do tipo FileReader
BufferedReader br = new BufferedReader( fr );
Para ler o arquivo, basta utilizar o método ready(), que retorna se o arquivo tem
mais linhas a ser lido, e o método readLine(), que retorna a linha atual e passa o
buffer para a próxima linha:
1
2
3
4
5
6
7
//enquanto houver mais linhas
while( br.ready() ){
//lê a proxima linha
String linha = br.readLine();
//faz algo com a linha
}
Da mesma forma que a escrita, a leitura deve fechar os recursos:
1
2
br.close();
fr.close();
Agora, o código completo de escrita e leitura do arquivo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public static void main(String[] args) {
File arquivo = new File("/home/hallan/nome_do_arquivo.txt");
try {
if (!arquivo.exists()) {
//cria um arquivo (vazio)
arquivo.createNewFile();
}
//caso seja um diretório, é possível listar seus arquivos e diretórios
File[] arquivos = arquivo.listFiles();
//escreve no arquivo
FileWriter fw = new FileWriter(arquivo, true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("Texto a ser escrito no txt");
bw.newLine();
bw.close();
fw.close();
//faz a leitura do arquivo
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
FileReader fr = new FileReader(arquivo);
BufferedReader br = new BufferedReader(fr);
//enquanto houver mais linhas
while (br.ready()) {
//lê a proxima linha
String linha = br.readLine();
//faz algo com a linha
System.out.println(linha);
}
br.close();
fr.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}

Mais conteúdo relacionado

PPTX
Java: Manipulação de Arquivos
DOC
المعلمون عبر التاريخ
PDF
Hyperspace for Delta Lake
PDF
Deep Dive into GPU Support in Apache Spark 3.x
PPTX
Java Virtual Machine (JVM), Difference JDK, JRE & JVM
PDF
Software Engineering - chp6- development phase
PDF
Curso básico de Algoritmos com Python
PDF
Chapitre 2 complexité
Java: Manipulação de Arquivos
المعلمون عبر التاريخ
Hyperspace for Delta Lake
Deep Dive into GPU Support in Apache Spark 3.x
Java Virtual Machine (JVM), Difference JDK, JRE & JVM
Software Engineering - chp6- development phase
Curso básico de Algoritmos com Python
Chapitre 2 complexité

Mais procurados (20)

PPTX
JDBC ppt
PPT
Java modulo 01 - Introdução
PPT
Les principes de base de PHP
PPTX
Aula 02 - Escolha caso
PDF
What is Python Lambda Function? Python Tutorial | Edureka
PPTX
Developpement Web.pptx
PDF
Apache Flink Stream Processing
DOCX
Résumer sur les fichier et les enregistrement
PDF
SAP HANA Distributed System Scaleout and HA
PPTX
LLAP: long-lived execution in Hive
PDF
네트워크 경량화 이모저모 @ 2020 DLD
PDF
Data Ingest Self Service and Management using Nifi and Kafka
PPTX
Tratamento de erros
PDF
Programação Orientada a objetos em Java
PDF
Cours PM.pdf programmation mobile en utilisant kotlin
PDF
Sistema de Gerenciamento de Locadora de Vídeo - Diagramas
PDF
Building A Player Focused Data Pipeline at Riot Games - StampedeCon 2015
PPTX
OAuth2 Implementation Presentation (Java)
PDF
Banco de Dados II: Tabelas (aula 2)
PDF
Como construir aplicações gráficas e applets
JDBC ppt
Java modulo 01 - Introdução
Les principes de base de PHP
Aula 02 - Escolha caso
What is Python Lambda Function? Python Tutorial | Edureka
Developpement Web.pptx
Apache Flink Stream Processing
Résumer sur les fichier et les enregistrement
SAP HANA Distributed System Scaleout and HA
LLAP: long-lived execution in Hive
네트워크 경량화 이모저모 @ 2020 DLD
Data Ingest Self Service and Management using Nifi and Kafka
Tratamento de erros
Programação Orientada a objetos em Java
Cours PM.pdf programmation mobile en utilisant kotlin
Sistema de Gerenciamento de Locadora de Vídeo - Diagramas
Building A Player Focused Data Pipeline at Riot Games - StampedeCon 2015
OAuth2 Implementation Presentation (Java)
Banco de Dados II: Tabelas (aula 2)
Como construir aplicações gráficas e applets
Anúncio

Semelhante a Escrever e ler arquivos com java (20)

PPTX
Criando e Lendo Arquivos TXT com a Classe File
PDF
Filestream sistema arquivos
PPTX
Algoritmos - Aula 16 B - Arquivos
PDF
Estrutura de dados ii
PDF
Laboratório de Programação I: Arquivos (binários) em disco
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PPTX
Aula 18 - Manipulacao De Arquivos python
PPT
Ficheiros texto
PDF
Java 05
PPT
http://www.dm.ufscar.br/~waldeck/curso/java/
PPT
http://www.dm.ufscar.br/~waldeck/curso/java/
ODP
Files e File System PHP (Português)
PPTX
Aulas de Java Avançado 1 - Faculdade iDez 2010
PDF
Arquivos, Fluxos e Serialização de Objetos em Java
PPTX
Sistema de arquivos
DOC
Comandos do linux
PDF
Cap1exercicioscomandoslinux 121113112337-phpapp02
ODP
Uso de arquivos na linguagem Java
DOCX
Ficha de trabalho [6]
Criando e Lendo Arquivos TXT com a Classe File
Filestream sistema arquivos
Algoritmos - Aula 16 B - Arquivos
Estrutura de dados ii
Laboratório de Programação I: Arquivos (binários) em disco
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Aula 18 - Manipulacao De Arquivos python
Ficheiros texto
Java 05
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
Files e File System PHP (Português)
Aulas de Java Avançado 1 - Faculdade iDez 2010
Arquivos, Fluxos e Serialização de Objetos em Java
Sistema de arquivos
Comandos do linux
Cap1exercicioscomandoslinux 121113112337-phpapp02
Uso de arquivos na linguagem Java
Ficha de trabalho [6]
Anúncio

Mais de MoisesInacio (9)

PDF
Mq conceitos melhores_praticas_parte_ii
PDF
Mq conceitos melhores_praticas
DOCX
Entenda o ciclo de vida das entidades jpa
PDF
Datacenter virtual-guia
PDF
Algaworks livro-spring-boot-v3.0
PDF
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
PDF
J query
PDF
Artigoajax
PDF
Jaxrs 1.0-final-spec
Mq conceitos melhores_praticas_parte_ii
Mq conceitos melhores_praticas
Entenda o ciclo de vida das entidades jpa
Datacenter virtual-guia
Algaworks livro-spring-boot-v3.0
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
J query
Artigoajax
Jaxrs 1.0-final-spec

Último (7)

DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PPTX
Mapeamento de Objeto para Tabela Relacional
PDF
apresentacao introducao computacao ead.pdf
PDF
Dos requisitos ao código: como criar código rastreável em PHP
PPTX
Curso de Windows 11 resumido na prática.pptx
PDF
Evolução em código: algoritmos genéticos com PHP
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
Mapeamento de Objeto para Tabela Relacional
apresentacao introducao computacao ead.pdf
Dos requisitos ao código: como criar código rastreável em PHP
Curso de Windows 11 resumido na prática.pptx
Evolução em código: algoritmos genéticos com PHP
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO

Escrever e ler arquivos com java

  • 1. Escrever e Ler arquivos com Java Manipulando arquivos com Java (por Hallan Medeiros) Praticamente todos que trabalham com desenvolvimento, de uma forma ou de outra, acabam tendo que manipular arquivos, sejam eles de texto, planilhas ou gerar relatórios. A seguir será visto como manipular arquivos com Java, bem como escrever e ler arquivos no formato de texto (txt). A manipulação de arquivos em Java acontece de forma simples e rápida, pois a linguagem dispõe de classes que executam praticamente todas as operações necessárias para tanto. java.io.File A classe File representa um arquivo ou diretório no sistema operacional. Importante saber que apenas REPRESENTA, não significa que o arquivo ou diretório realmente exista. Para instanciar um objeto do tipo File: 1 File arquivo = new File( "/home/hallan/nome_do_arquivo.txt" ); Com o objeto instanciado, é possível fazer algumas verificações, como por exemplo se o arquivo ou diretório existe: 1 2 //verifica se o arquivo ou diretório existe boolean existe = arquivo.exists(); Caso não exista, é possível criar um arquivo ou diretório: 1 2 3 4 5 //cria um arquivo (vazio) arquivo.createNewFile(); //cria um diretório arquivo.mkdir(); caso seja um diretório, é possível listar seus arquivos e diretórios através do método listFiles(), que retorna um vetor de File: 1 2 //caso seja um diretório, é possível listar seus arquivos e diretórios File [] arquivos = arquivo.listFiles(); É possível também excluir o arquivo ou diretório através do método delete(). Uma
  • 2. observação importante é que, caso seja um diretório, para poder excluir, este tem de estar vazio: 1 2 //exclui o arquivo ou diretório arquivo.delete(); java.io.FileWriter e java.io.BufferedWriter As classes FileWriter e BufferedWriter servem para escrever em arquivos de texto. A classe FileWriter serve para escrever diretamente no arquivo, enquanto a classe BufferedWriter, além de ter um desempenho melhor, possui alguns métodos que são independentes de sistema operacional, como quebra de linhas. Para instanciar um objeto do tipo FileWriter: 1 2 3 4 5 6 //construtor que recebe o objeto do tipo arquivo FileWriter fw = new FileWriter( arquivo ); //construtor que recebe também como argumento se o conteúdo será acrescentado //ao invés de ser substituído (append) FileWriter fw = new FileWriter( arquivo, true ); A criação do objeto BufferedWriter: 1 2 //construtor recebe como argumento o objeto do tipo FileWriter BufferedWriter bw = new BufferedWriter( fw ); Com o bufferedwriter criado, agora é possível escrever conteúdo no arquivo através do método write(): 1 2 3 4 5 //escreve o conteúdo no arquivo bw.write( "Texto a ser escrito no txt" ); //quebra de linha bw.newLine(); Após escrever tudo que queria, é necessário fechar os buffers e informar ao sistema que o arquivo não está mais sendo utilizado: 1 2 3 //fecha os recursos bw.close(); fw.close(); java.io.FileReader e java.io.BufferedReader As classes FileReader e BufferedReader servem para ler arquivos em formato texto. A classe FileReader recebe como argumento o objeto File do arquivo a ser lido:
  • 3. 1 2 //construtor que recebe o objeto do tipo arquivo FileReader fr = new FileReader( arquivo ); A classe BufferedReader, fornece o método readLine() para leitura do arquivo: 1 2 //construtor que recebe o objeto do tipo FileReader BufferedReader br = new BufferedReader( fr ); Para ler o arquivo, basta utilizar o método ready(), que retorna se o arquivo tem mais linhas a ser lido, e o método readLine(), que retorna a linha atual e passa o buffer para a próxima linha: 1 2 3 4 5 6 7 //enquanto houver mais linhas while( br.ready() ){ //lê a proxima linha String linha = br.readLine(); //faz algo com a linha } Da mesma forma que a escrita, a leitura deve fechar os recursos: 1 2 br.close(); fr.close(); Agora, o código completo de escrita e leitura do arquivo: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 public static void main(String[] args) { File arquivo = new File("/home/hallan/nome_do_arquivo.txt"); try { if (!arquivo.exists()) { //cria um arquivo (vazio) arquivo.createNewFile(); } //caso seja um diretório, é possível listar seus arquivos e diretórios File[] arquivos = arquivo.listFiles(); //escreve no arquivo FileWriter fw = new FileWriter(arquivo, true); BufferedWriter bw = new BufferedWriter(fw); bw.write("Texto a ser escrito no txt"); bw.newLine(); bw.close(); fw.close(); //faz a leitura do arquivo
  • 4. 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 FileReader fr = new FileReader(arquivo); BufferedReader br = new BufferedReader(fr); //enquanto houver mais linhas while (br.ready()) { //lê a proxima linha String linha = br.readLine(); //faz algo com a linha System.out.println(linha); } br.close(); fr.close(); } catch (IOException ex) { ex.printStackTrace(); } }