Como ler um arquivo para uma string em Java
-
Files.readString()
para ler uma string a partir de um arquivo em Java 11 -
Files.lines(file_path)
para ler o arquivo para String no Java 8 -
Files.readAllLines()
para ler a string do arquivo em Java 7 -
BufferedReader.readLine
para ler string de um arquivo
Apresentaremos como podemos ler o conteúdo de um arquivo e depois convertê-lo em uma string Java.
Abaixo está o arquivo testFile.txt
, que inclui algum conteúdo que queremos ler como uma string Java.
A B C D 1 2 3
Files.readString()
para ler uma string a partir de um arquivo em Java 11
Java 11 traz um novo método Files.readString()
que nos permite ler o arquivo facilmente e sem escrever muito código.
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) {
Path path = Paths.get("/Projects/testFile.txt");
try {
String content = Files.readString(path);
System.out.println(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Resultado:
A
B
C
D
1
2
3
Files.lines(file_path)
para ler o arquivo para String no Java 8
A API Stream
foi introduzida no Java 8 que processa o array de dados de várias maneiras.
A classe Files
, como parte do pacote java.NIO
, contém um método lines()
que produz Stream<String>
ou um fluxo de string a partir de um arquivo texto.
Vamos tentar converter o conteúdo do arquivo em string Java utilizando Stream API.
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
try {
Path path = Paths.get("/Projects/testFile.txt");
Stream<String> lines = Files.lines(path);
String content = lines.collect(Collectors.joining(System.lineSeparator()));
System.out.println(content);
lines.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Resultado:
A
B
C
D
1
2
3
Tenha sempre em mente fechar o fluxo após utilizá-lo. Observe as lines.close()
.
Ele garante que o fluxo seja fechado uma vez que o conteúdo tenha sido impresso.
Files.readAllLines()
para ler a string do arquivo em Java 7
A leitura dos arquivos não foi tão fácil até Java 7, que trouxe o novo método para o pacote java.nio
. É o método Files.readAllLines()
que retorna uma lista de strings do arquivo. Cada string representa uma única linha do arquivo.
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
public class Main {
public static void main(String[] args) {
try {
Path path = Paths.get("/Projects/testFile.txt");
List<String> contentList = Files.readAllLines(path, StandardCharsets.UTF_8);
System.out.println(contentList);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Resultado:
[A, B, C, D, 1, 2, 3]
BufferedReader.readLine
para ler string de um arquivo
Também podemos obter o conteúdo de nosso arquivo utilizando a classe BufferedReader
, que lê o texto a partir de um fluxo de entrada.
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) throws IOException {
String path = "/Projects/testFile.txt";
try (BufferedReader br = new BufferedReader(new FileReader(path))) {
String line = br.readLine();
StringBuilder sb = new StringBuilder();
while (line != null) {
sb.append(line).append("\n");
line = br.readLine();
}
String fileAsString = sb.toString();
System.out.println(fileAsString);
}
}
}
Resultado:
A
B
C
D
1
2
3
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArtigo relacionado - Java String
- Como converter a string Java em Byte
- Como converter Byte Array em Hex String em Java
- Como realizar a conversão de string em array de string em Java
- Como remover string de string em Java
- Comparar Strings em Java
- Gerar String Aleatória em Java