Java : Lire un fichier texte dans une liste de tableaux
Introduction
Lecture d'un texte fichier dans une liste de tableaux en Java est une tâche de programmation courante. Cet article montre comment y parvenir, en couvrant les techniques qui exploitent les classes Files, String, Integer et List.
Lecture du fichier
Pour lire le fichier, utilisez la méthode Files#readAllLines() pour obtenir une liste de ses lignes. Chaque ligne représente une ligne dans le fichier texte.
List<String> lines = Files.readAllLines(Paths.get("/path/to/file.txt"));
Partager les lignes
Étant donné que les valeurs du fichier sont séparées par des espaces, utilisez la chaîne#split () pour diviser chaque ligne en valeurs individuelles :
for (String line : lines) { String[] values = line.split("\s+"); }
Conversion de chaînes en Entiers
Comme les valeurs du fichier texte sont des entiers, convertissez-les en objets Integer à l'aide de Integer#valueOf() :
for (String value : values) { Integer i = Integer.valueOf(value); }
Ajout à la liste des tableaux
Créez une liste de tableaux et ajoutez-y les entiers convertis à l'aide de List#add() méthode :
List<Integer> numbers = new ArrayList<>(); numbers.add(i);
Combinaison des étapes
En combinant ces étapes, vous pouvez lire le fichier et remplir la liste des tableaux en une seule fois :
List<Integer> numbers = new ArrayList<>(); for (String line : Files.readAllLines(Paths.get("/path/to/file.txt"))) { for (String value : line.split("\s+")) { Integer i = Integer.valueOf(value); numbers.add(i); } }
API Java 8 Stream
En Java 8, vous pouvez simplifier le processus à l'aide de l'API Stream :
List<Integer> numbers = Files.lines(Paths.get("/path/to/test.txt")) .map(line -> line.split("\s+")).flatMap(Arrays::stream) .map(Integer::valueOf) .collect(Collectors.toList());
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!