Leia um arquivo de texto em Java
-
Use a classe
Scanner
para ler arquivos em Java -
Use a classe
BufferedReader
para ler arquivos em Java -
Use a classe
FileReader
para ler arquivos em Java
Em quase todos os aplicativos, lidamos com leitura e escrita de texto, por isso é essencial aprender sobre isso. Existem vários métodos para ler um arquivo de texto simples em Java.
No tutorial, aprenderemos como ler um arquivo de texto em Java.
Use a classe Scanner
para ler arquivos em Java
A classe Scanner pode ler arquivos em Java. Primeiro, é criado um objeto File que representa o caminho do arquivo necessário. O objeto da classe Scanner é criado passando o objeto File acima.
A função hasNext()
verifica se outra linha existe em um arquivo e a função nextLine()
lê a linha fornecida.
Veja o código abaixo.
import java.io.File;
import java.util.Scanner;
public class ScannerClassDemo {
public static void main(String[] args) throws Exception {
File doc = new File("C:\\Drive\\Learn.txt");
Scanner obj = new Scanner(doc);
while (obj.hasNextLine()) System.out.println(obj.nextLine());
}
}
Resultado:
File Reading Example
Uma exceção FileNotFound
é lançada se o arquivo fornecido não existir.
Também podemos fazer isso criando o objeto da classe InputStream
e depois passando-o pela classe Scanner
.
Por exemplo,
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Scanner;
public class ScannerClassDemo {
public static void main(String args[]) throws Exception {
InputStream ins = new FileInputStream("C:\\Drive\\Learn.txt");
Scanner obj = new Scanner(ins);
while (obj.hasNextLine()) System.out.println(obj.nextLine());
}
}
Resultado:
File Reading Example
A vantagem de usar esse método é que ele oferece capacidade de análise.
Use a classe BufferedReader
para ler arquivos em Java
BufferedReader
lê o texto de um fluxo de entrada baseado em caracteres. O armazenamento em buffer é feito para a leitura eficiente de arrayes, linhas e caracteres. Se o tamanho do buffer não for especificado, o tamanho padrão é usado, que é grande o suficiente para o uso. Podemos usá-lo para ler arquivos em Java.
BufferedReader
fornece leitura rápida através do armazenamento em buffer de dados.
No exemplo a seguir, lemos o texto de um arquivo em algum caminho especificado.
import java.io.*;
public class ReadingTextusingBufferedReader {
public static void main(String[] args) throws Exception {
File doc = new File("C:\\Drive\\Learn.txt");
BufferedReader obj = new BufferedReader(new FileReader(doc));
String strng;
while ((strng = obj.readLine()) != null) System.out.println(strng);
}
}
Resultado:
File Reading Example
Use a classe FileReader
para ler arquivos em Java
A classe FileReader
oferece uma maneira conveniente de ler texto simples em java. Nesta classe, o método do construtor usa o tamanho do buffer de bytes padrão e a codificação de caracteres padrão conforme mais apropriado.
Podemos usá-lo para ler arquivos em Java, conforme mostrado a seguir.
import java.io.*;
public class ReadingTextFile {
public static void main(String args[]) throws IOException {
File doc = new File("Demo.txt");
doc.createNewFile();
FileReader freader = new FileReader(doc);
char[] i = new char[100];
freader.read(i);
for (char j : i) System.out.print(j);
freader.close();
}
}
Resultado:
File Reading Example
A função createNewFile()
cria um novo arquivo vazio. Após a chamada da função, se o arquivo não existir, ele retornará True e criará um arquivo vazio com um nome especificado.