Leggere un file in una stringa in Java
-
Files.readString()per leggere una stringa da un file in Java 11 -
Files.lines(file_path)per leggere il file in una stringa in Java 8 -
Files.readAllLines()per leggere la stringa dal file in Java 7 -
BufferedReader.readLineper leggere una stringa da un file
Introdurremo come leggere il contenuto di un file e poi convertirlo in una stringa Java.
Di seguito è riportato il file testFile.txt, che include alcuni contenuti che vogliamo leggere come una stringa Java.
A B C D 1 2 3
Files.readString() per leggere una stringa da un file in Java 11
Java 11 introduce un nuovo metodo Files.readString() che ci permette di leggere il file facilmente e senza scrivere molto codice.
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();
}
}
}
Produzione:
A
B
C
D
1
2
3
Files.lines(file_path) per leggere il file in una stringa in Java 8
L’API Stream è stata introdotta in Java 8 che elabora il dato insieme di dati in vari modi.
La classe Files, come parte del pacchetto java.NIO, contiene un metodo lines() che produce Stream<String> o un flusso di stringhe da un file di testo.
Proviamo a convertire il contenuto del file in una stringa Java utilizzando 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();
}
}
}
Produzione:
A
B
C
D
1
2
3
Ricorda sempre di chiudere lo stream dopo averlo utilizzato. Notare il lines.close().
Assicura che lo stream venga chiuso una volta che il contenuto è stato stampato.
Files.readAllLines() per leggere la stringa dal file in Java 7
Leggere i file non è stato così facile fino a Java 7, che ha portato il nuovo metodo nel pacchetto java.nio. È il metodo Files.readAllLines() che restituisce una lista di stringhe dal file. Ogni stringa rappresenta una singola riga del file.
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();
}
}
}
Produzione:
[A, B, C, D, 1, 2, 3]
BufferedReader.readLine per leggere una stringa da un file
Possiamo anche ottenere il contenuto del nostro file usando la classe BufferedReader, che legge il testo da un flusso di input.
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);
}
}
}
Produzione:
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.
LinkedInArticolo correlato - Java String
- Converti array di byte in stringa esadecimale in Java
- Converti stringa Java in byte
- Eseguire la conversione di array da stringa a stringa in Java
- Rimuovi sottostringa dalla stringa in Java
- Confronta le stringhe in Java
- Genera stringa casuale in Java
