Duplicate possible:
Comment créer une Java chaîne à partir du contenu d'un fichier
Fichier texte entier en une chaîne en Java
J'essaie de lire le contenu d'un fichier à l'aide de FileReader. Mais je veux lire le fichier sans lire ligne par ligne. Est-il possible de lire le fichier entier sans boucle. J'utilise le code suivant
try
{
File ff=new File("abc.txt");
FileReader fr=new FileReader(ff);
String s;
while(br.read()!=-1)
{
s=br.readLine();
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
Si le fichier est petit, vous pouvez lire l’ensemble des données une fois:
File file = new File("a.txt");
FileInputStream fis = new FileInputStream(file);
byte[] data = new byte[(int) file.length()];
fis.read(data);
fis.close();
String str = new String(data, "UTF-8");
Solution monoligne Java 7
List<String> lines = Files.readAllLines(Paths.get("file"), StandardCharsets.UTF_8);
ou
String text = new String(Files.readAllBytes(Paths.get("file")), StandardCharsets.UTF_8);
Si vous utilisez Java 5/6, vous pouvez utiliser Apache Commons IO pour lire le fichier dans une chaîne. La classe org.Apache.commons.io.FileUtils
contient plusieurs méthodes pour lire les fichiers.
par exemple. en utilisant la méthode _FileUtils#readFileToString
_:
_File file = new File("abc.txt");
String content = FileUtils.readFileToString(file);
_
Depuis Java 11, vous pouvez le faire encore plus simplement:
import Java.nio.file.Files;
Files.readString(Path path);
Files.readString(Path path, Charset cs)