Cómo leer un archivo a una cadena en Java
-
Files.readString()
para leer una cadena de un archivo en Java 11 -
Files.lines(file_path)
para leer el archivo a la cadena en Java 8 -
Files.readAllLines()
para leer la cadena de un archivo en Java 7 -
BufferedReader.readLine
para leer cadenas de un archivo
Presentaremos cómo podemos leer el contenido de un archivo y luego convertirlo en una cadena de Java.
A continuación está el archivo testFile.txt
, que incluye algunos contenidos que queremos leer como una cadena de Java.
A B C D 1 2 3
Files.readString()
para leer una cadena de un archivo en Java 11
Java 11 trae un nuevo método Files.readString()
que nos permite leer el archivo fácilmente y sin escribir mucho 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 leer el archivo a la cadena en Java 8
La API Stream
fue introducida en Java 8, que procesa el conjunto de datos de varias maneras.
La clase Files
, como parte del paquete java.NIO
, contiene un método de lines()
que produce Stream<String>
o un flujo de cadena
de un archivo de texto.
Intentemos convertir el contenido del archivo en una cadena de Java usando el 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
Siempre tenga en cuenta que debe cerrar el chorro después de usarlo. Fíjese en el lines.close()
.
Asegura que la corriente se cierra una vez que el contenido ha sido impreso.
Files.readAllLines()
para leer la cadena de un archivo en Java 7
La lectura de archivos no era tan fácil hasta Java 7, que trajo el nuevo método al paquete java.nio
. Es el método Files.readAllLines()
que devuelve una lista de cadenas del archivo. Cada cadena representa una sola línea del archivo.
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 leer cadenas de un archivo
También podemos obtener el contenido de nuestro archivo usando la clase BufferedReader
, que lee el texto de un flujo 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.
LinkedInArtículo relacionado - Java String
- Cómo eliminar la subcadena de la cadena en Java
- Cómo realizar una conversión de cadena a cadena en Java
- Cómo convertir un array de bytes en una cadena hexadecimal en Java
- Cómo convertir una cadena de Java en un byte
- Generar cadena aleatoria en Java
- El método Swap en Java