Como ler arquivo texto em java

Precisa ler um arquivo texto em java? Então acompanhe este post que vou mostrar 3 formas de fazer isso utilizando a linguagem Java.

Wolmir Cezer Garbin por Wolmir Cezer Garbin - - Java - TUTORIAL

Última atualização em: | 33919 Visualizações

No decorrer do dia a dia de um programador é muito comum precisar ler arquivos de texto, e com a evolução da linguagem Java, esta tarefa fica a cada dia mais fácil. Então, neste post, vou mostrar 3 formas de ler arquivos texto em Java.

Para todos os exemplos utilizaremos o arquivo comandos.sql salvo no diretório /home/wolmir com o seguinte conteúdo:

select * form TESTE;
insert into TESTE(name) values ('Wolmir');
select * form TESTE;

Ler arquivos texto usando FileInputStream, InputStreamReader e BufferedReader


Se você procurar na web vai encontrar muitos exemplos de leitura de arquivos texto em java utilizando estas classes, isso porque, são classes antigas que funcionam perfeitamente, mas já não indico utilizarem mais, porém vale a pena ver um exemplo:

import java.io.*;

public class Exemplo01 {

    public static void main(String args[]) throws IOException {
        FileInputStream stream = new FileInputStream("/home/wolmir/comandos.sql");
        InputStreamReader reader = new InputStreamReader(stream);
        BufferedReader br = new BufferedReader(reader);
        String linha = br.readLine();
        while(linha != null) {
            System.out.println(linha);
            linha = br.readLine();
        }
    }
}

Ler arquivos texto usando a classe Scanner


A classe java.util.Scanner súrgio no Java 5, e foi muito utilizada com a finalidade de facilitar a entrada de dados no modo Console. Isso não é errado, se você quiser fazer um programa em java em modo console ela será muito útil para você.

Mas neste post, vamos utilizar a classe Scanner com a finalidade de fazer a leitura de um arquivo texto e de maneira muito simples conseguimos ótimos resultados, veja:

import java.io.FileNotFoundException;
import java.io.FileReader;import java.util.Scanner;

public class Exemplo02 {

    public static void main(String args[]) throws FileNotFoundException {
        Scanner scanner = new Scanner(new FileReader("/home/wolmir/comandos.sql")).useDelimiter("\\n");
        while (scanner.hasNext()) {
            System.out.println( scanner.next() );
        }
    }

}

Ler arquivos texto usando a classe Files do Java 8


Por fim, se estiver utilizando Java 8, você tem a disposição a classe java.nio.file.Files, sem falar dos recursos de lambdas que estão disponíveis na linguagem. Para este exemplo utilizaremos a classe Files para demostrar a leitura de linhas de um arquivo texto, mas com ela você consegue corregar bytes de arquivos entre outras utilidades, veja o exemplo:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;

public class Exemplo03 {

    public static void main(String args[]) throws IOException {
        Path path = Paths.get("/home/wolmir/comandos.sql");

        List<String> linhasArquivo = Files.readAllLines(path);
        for (String linha : linhasArquivo) {
            System.out.println( linha );
        }
    }
}

Ou utilizando Java 8 podemos reduzir o código para:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Exemplo02 {

    public static void main(String args[]) throws IOException {
        Path path = Paths.get("/home/wolmir/comandos.sql");

        Files.lines(path).forEach(System.out::println);
    }
}

Muito mais simples não?


Por hoje era isso, se tiverem alguma dúvida deixem nos comentários que te ajudaremos a resolver.


Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.


Apoiadores

Publique seu post no Receitas de Código

Aguarde, estamos trabalhando para que você possa publicar sua postagem no Receitas de Código!