Maison >Java >javaDidacticiel >Comment convertir des entiers séparés par des espaces d'un fichier texte en ArrayList en Java ?
Lecture de fichiers texte Java : convertir des valeurs séparées par des espaces en une liste de tableaux
Lire des données à partir de fichiers texte et les organiser dans un format efficace est souvent indispensable en programmation. Explorons comment lire un fichier texte contenant des entiers séparés par des espaces et les stocker dans une ArrayList à l'aide de Java.
Étape 1 : Lire le fichier
Pour lire le texte fichier, vous pouvez utiliser la méthode Files.readAllLines(), qui renvoie une liste de lignes de chaîne. Chaque ligne du fichier texte sera représentée sous forme de chaîne dans cette liste.
Étape 2 : Diviser les lignes
Pour extraire les valeurs entières de chaque ligne, nous peut utiliser la méthode split() sur chaque chaîne. Cette méthode divise la chaîne en un tableau de sous-chaînes basé sur un délimiteur. Pour les valeurs séparées par des espaces, nous utiliserions "\s" comme délimiteur, qui correspond à un ou plusieurs caractères d'espacement.
Étape 3 : Conversion de chaînes en entiers
Chaque sous-chaîne résultant de l'appel split() représente un entier. Nous pouvons utiliser la méthode Integer.valueOf() pour convertir ces sous-chaînes en valeurs entières.
Étape 4 : Ajouter des entiers à l'ArrayList
Enfin, nous pouvons parcourir le tableau d'entiers et ajoutez chacun d'eux à une ArrayList en utilisant add() méthode.
Mettre le tout ensemble
En combinant ces étapes, nous arrivons à l'extrait de code Java suivant :
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class TextFileReader { public static void main(String[] args) { String pathToFile = "/path/to/test.txt"; try { // Read the file into a list of strings List<String> lines = Files.readAllLines(Paths.get(pathToFile)); // Initialize an empty ArrayList to store the integers List<Integer> numbers = new ArrayList<>(); // Iterate over each line for (String line : lines) { // Split the line into substrings String[] parts = line.split("\s+"); // Convert each substring to an integer and add it to the ArrayList for (String part : parts) { int i = Integer.valueOf(part); numbers.add(i); } } // Print the ArrayList to demonstrate it has been populated System.out.println(numbers); } catch (IOException e) { e.printStackTrace(); } } }
Remarque : Pour Java 8 et supérieur, il existe une approche plus simple et plus concise utilisant l'API Stream. Vous pouvez trouver la version Java 8 dans la section de réponses fournie.
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!