[Java] Como ler os bytes de um arquivo
Quando você precisa ler os bytes de um arquivo em Java, talvez venha à sua cabeça a criação de um FileInputStream e um objeto byte[] para ler byte por byte do arquivo e adicioná-lo no array.
Funciona, mas a partir do Java 7 é possível fazer isso de forma muito mais simples através do método estático readAllBytes da classe java.nio.file.Files.
Para isso só precisamos do objeto Path do arquivo. Se você já tiver o objeto File que representa o seu arquivo, basta obter o objeto Path pelo método toPath().
Confuso? Não tem segredo, veja o exemplo abaixo pra você entender melhor.
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.file.Files;
public class LerArquivo {
public static void main(String[] args) throws UnsupportedEncodingException, IOException{
File file = new File("arquivo.txt");
byte[] bytes = Files.readAllBytes(file.toPath());
String textoDoArquivo = new String(bytes, "UTF-8");
System.out.println(textoDoArquivo);
}
}
VEJA TAMBÉM ~> [Java] Como converter um array de bytes em String
Perceba que em uma apenas linha nós conseguimos ler os bytes do arquivo, sem precisar criar Streaming nenhum.
byte[] bytes = Files.readAllBytes(file.toPath());
Para testar, eu criei um arquivo arquivo.txt com o conteúdo abaixo.
arquivo de teste para leitura no java.
Ao executar o nosso código java de exemplo, obtemos o seguinte resultado.

Gostou? Alguma dúvida? Utilize a área de comentários aqui em baixo.




