Como Ler um Arquivo para String

JavaBeginner
Pratique Agora

Introdução

Armazenar dados em um arquivo é útil para armazenamento permanente. Em Java, existem quatro classes que podem ser usadas para ler arquivos: FileReader, Scanner, FileInputStream e BufferedReader. Essas classes fazem parte do pacote java.io e são usadas para manipulação de arquivos em Java.

Criar um Arquivo de Exemplo

Comece criando um arquivo de exemplo .txt para leitura. Você pode usar qualquer editor de texto para criar este arquivo, e ele pode conter quaisquer dados que você deseje ler. Exemplo:

This is the sample data stored in a file
Rahul:10025
Sohan:10026
Madan:10027
Jack:10028

Importar as Classes Necessárias

Para ler o arquivo e converter seu conteúdo em uma string, você precisará importar as seguintes classes:

import java.io.*;

Lendo um Arquivo com FileReader

Use a classe FileReader para ler dados do arquivo. Um objeto da classe FileReader aponta para o início de um arquivo. Use um buffer de tamanho 1 para ler cada caractere do arquivo e anexe-o a uma variável String.

try {
     // Step 1: Create a new FileReader object
     FileReader fr = new FileReader("path/to/your/file.txt");

     // Step 2: Create a String variable to hold the contents of the file
     String fileData = "";

     // Step 3: Create an integer variable to hold each character read
     int c;

     // Step 4: Keep reading the file until the end of the file has been reached
     while ((c = fr.read()) != -1) {

         // Step 5: Append each character read to the fileData string
         fileData += (char) c;
     }

     // Step 6: Print the contents of the file
     System.out.println(fileData);

     // Step 7: Close the file reader
     fr.close();

 } catch (IOException e) {
     e.printStackTrace();
 }

Lendo um Arquivo com Scanner

Use a classe Scanner para ler dados de um arquivo de texto. Você precisa fornecer o arquivo de texto como uma fonte de entrada para o scanner e, em seguida, delimitar o scanner com o método \\Z para ler todos os dados de uma vez e convertê-los em uma String.

try {
     File file = new File("path/to/file.txt");
     Scanner scanner = new Scanner(file);

     scanner.useDelimiter("\\Z");

     String fileData = scanner.next();
     System.out.println(fileData);

     scanner.close();
 } catch (FileNotFoundException e) {
     e.printStackTrace();
 }

Lendo um Arquivo com FileInputStream

Use a classe FileInputStream para ler dados diretamente do arquivo em um array de bytes. Crie um buffer do tamanho desejado (10 bytes em nosso exemplo) para armazenar temporariamente os dados lidos do arquivo e, em seguida, anexe-os a um objeto StringBuilder. Finalmente, usamos o método toString() para converter o conteúdo do objeto StringBuilder em uma String.

try {
     File file = new File("path/to/file.txt");
     FileInputStream fileInputStream = new FileInputStream(file);
     byte[] buffer = new byte[10];
     StringBuilder stringBuilder = new StringBuilder();

     int length;
     while ((length = fileInputStream.read(buffer)) != -1) {
         stringBuilder.append(new String(buffer, 0, length));
     }

     String fileData = stringBuilder.toString();
     System.out.println(fileData);

     fileInputStream.close();

 } catch (IOException e) {
     e.printStackTrace();
 }

Lendo um Arquivo com BufferedReader

Use a classe BufferedReader para ler dados de um arquivo de forma simples. Ele lerá todos os dados de uma vez, e você pode então imprimi-los linha por linha usando o método readLine().

try {
     File file = new File("path/to/file.txt");
     BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
     String line;

     while ((line = bufferedReader.readLine()) != null) {
         System.out.println(line);
     }

     bufferedReader.close();

 } catch (IOException e) {
     e.printStackTrace();
 }

Resumo

Neste laboratório, você aprendeu como ler dados de um arquivo para uma String em Java. Existem várias maneiras de conseguir isso, incluindo o uso das classes FileReader, Scanner, FileInputStream e BufferedReader. Recomendamos que você experimente esses métodos por conta própria, a fim de entender como eles funcionam e qual é o mais apropriado para o seu caso de uso específico. Lembre-se de testar seu código e verificar o caminho para o seu arquivo de texto.