Maison >Java >javaDidacticiel >Comment lire des entiers séparés par des espaces à partir d'un fichier texte en Java ?

Comment lire des entiers séparés par des espaces à partir d'un fichier texte en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-09 22:00:19873parcourir

How to Read Space-Separated Integers from a Text File in Java?

Lire des entiers séparés par des espaces à partir d'un fichier texte

En Java, la lecture des données d'un fichier texte peut être réalisée à l'aide de la classe Files. Ce tutoriel montre comment lire des entiers à partir d'un fichier texte séparés par des espaces et les stocker dans une ArrayList.

Étape 1 : Lire le fichier texte

Utilisez le readAllLines( ) de la classe Files pour charger l'intégralité du fichier texte dans une liste avec chaque ligne représentée sous forme de chaîne.

Étape 2 : Diviser chaque ligne

Appliquez la méthode split() à chaque ligne pour la diviser en entiers individuels en fonction du caractère d'espacement ("s"). Cela crée une liste de tableaux de chaînes.

Étape 3 : Convertir des chaînes en entiers

Pour convertir les représentations sous forme de chaîne d'entiers en type réel, utilisez la valeur valueOf() méthode de la classe Integer.

Étape 4 : Ajouter des entiers à ArrayList

À l'aide de la méthode add() de ArrayList, ajoutez chaque entier à la liste.

Étape 5 : Assemblez l'ArrayList

En combinant les étapes 1 à 4, voici un code complet extrait :

List<Integer> numbers = new ArrayList<>();
for (String line : Files.readAllLines(Paths.get("/path/to/file.txt"))) {
    for (String part : line.split("\s+")) {
        Integer i = Integer.valueOf(part);
        numbers.add(i);
    }
}

Utilisation des flux Java 8

Dans Java 8, l'API Stream fournit une solution plus concise.

List<Integer> numbers = Files.lines(Paths.get("/path/to/file.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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn