Comment lire le contenu d'un fichier dans une chaîne Java (File to String)
Bonjour à tous ! Je suis débutant en Java et je n'arrive pas à comprendre la lecture de fichiers. J'ai besoin de lire tout un fichier texte dans une seule chaîne String pour ensuite la traiter (par exemple, la diviser en lignes ou trouver une sous-chaîne).
J'ai essayé d'écrire moi-même, mais le code devient lourd et ne fonctionne pas :
```java
File file = new File("test.txt");
String content = "";
try {
FileInputStream fis = new FileInputStream(file);
int b;
while ((b = fis.read()) != -1) {
content += (char) b;
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(content);
```
Problèmes :
1. Si le fichier est volumineux, le programme ralentit (j'ai entendu parler de la concaténation de chaînes dans une boucle — c'est mauvais).
2. L'encodage n'est pas spécifié — sur Windows, les lettres russes se transforment en charabia.
3. Si on oublie de fermer le stream, il peut y avoir des fuites mémoire.
4. Le code a l'air horrible — trop de lignes pour une tâche aussi simple.
Dites-moi comment lire correctement et élégamment un fichier dans une chaîne en Java moderne.
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Ne compile pas Rust sur Windows ? Résolvons le problème du linker link.exe
Architecture pilotée par les événements en Kotlin : des coroutines aux flux réactifs
Surveillance des applications Rust : métriques et alertes (niveau avancé)
Comment accélérer l'apprentissage de Swift : conseils de développeurs seniors