Je suis intéressé par un traitement de ligne simple. P>
7 Réponses :
@Maxym: Cette réponse devait être complétée par un exemple d'utilisation. Merci.
Scanner:
for(Scanner sc = new Scanner(new File("my.file")); sc.hasNext(); ) {
String line = sc.nextLine();
... // do something with line
}
Aimez la grande variété de méthodes, Scanner CODE> Offres. Merci. Simple et propre.
Apache Commons est toujours un bon endroit pour commencer. p>
voir http://commons.apache.org/io/ p>
Vous pouvez utiliser bufferedreader code>, quelque chose comme ceci: - try {
BufferedReader input = new BufferedReader(new FileReader(new File("c:\\test.txt")));
try {
String line = null;
while ((line = input.readLine()) != null) {
System.out.println(line);
}
} finally {
input.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
Scanner semble être plus simple et a plus d'options. Mais merci d'avoir mis le code nécessaire ici. +1
Juste "au fait", lorsque Java7 vient, il aura "la gestion automatisée des ressources" et signifie que nous n'aurons pas besoin de essayer {...} enfin {out.close ()} code> - La fermeture sera effectuée par JVM, et cela s'en occupera.
Si vous êtes prêt à utiliser Bibliothèques 3ème partie , puis classes utilitaires telles que Fichiers CODE> de GUAVA a> ou FLITUTILS de Apache Commons IO Faites des fichiers de lecture très simples.
Exemples ci-dessous (où GUAVA: P> fichier de fichier = nouveau fichier ("chemin / fichier / fichier.txt") code>) de lecture de toutes les lignes d'un fichier texte dans une liste et de lire le fichier entier dans une liste. Chaîne. P> List<String> lines = FileUtils.readLines(file, "UTF-8");
String contents = FileUtils.readFileToString(file, "UTF-8")
J'essayais de ne pas utiliser les bibliothèques tierces, en effet. Mais j'avais entendu parler de cette bibliothèque avant. Il semble gagner l'acceptation.
@Jean. Heh, "l'acceptation de gagne" pourrait être un moyen de la mettre. Mon expérience est que les libs d'Apache Commons ont été un pilier dans des projets de Java typiques depuis le début des 00 (plus récemment rejoint / remplacé par des libs de Google, tels que Guava). Bien sûr, il faut envisager attentivement avant d'ajouter des dépendances, mais des trucs comme les Commons IO tiront souvent son poids facilement.
Vous pouvez également utiliser InputStreamReader (que vous créez à l'aide d'un fichier INPUTREAM comme fichierInputStream) enveloppé dans une mémoire bufferedreader pour une lecture de ligne simple du fichier. P>
Vous pouvez essayer les fichiers d'Apache. méthodes telles que
Dans cette question récente, une question connexe Il y a une bonne introduction aux classes IO intégrées du fichier intégrées de JDK: Stackoverflow.com/questions/19430071/...