Maison > Java > javaDidacticiel > Comment lire un fichier texte dans une ArrayList en Java ?

Comment lire un fichier texte dans une ArrayList en Java ?

Linda Hamilton
Libérer: 2024-12-11 05:59:09
original
643 Les gens l'ont consulté

How to Read a Text File into an ArrayList in Java?

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"));
Copier après la connexion

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+");
}
Copier après la connexion

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);
}
Copier après la connexion

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);
Copier après la connexion

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);
    }
}
Copier après la connexion

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());
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal