Maison >Java >javaDidacticiel >Comment convertir des entiers séparés par des espaces d'un fichier texte en ArrayList en Java ?

Comment convertir des entiers séparés par des espaces d'un fichier texte en ArrayList en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-08 18:35:10664parcourir

How to Convert Space-Separated Integers from a Text File into an ArrayList in 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!

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