Heim >Java >javaLernprogramm >Wie lese ich eine Textdatei in eine ArrayList in Java ein?

Wie lese ich eine Textdatei in eine ArrayList in Java ein?

Linda Hamilton
Linda HamiltonOriginal
2024-12-11 05:59:09609Durchsuche

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

Java: Eine Textdatei in eine Array-Liste einlesen

Einführung

Einen Text lesen Das Einfügen einer Datei in eine Array-Liste in Java ist eine häufige Programmieraufgabe. Dieser Artikel zeigt, wie dies erreicht wird, und behandelt Techniken, die die Klassen „Files“, „String“, „Integer“ und „List“ nutzen.

Lesen der Datei

Um die Datei zu lesen, verwenden Sie die Methode Files#readAllLines(), um eine Liste ihrer Zeilen zu erhalten. Jede Zeile stellt eine Zeile in der Textdatei dar.

List<String> lines = Files.readAllLines(Paths.get("/path/to/file.txt"));

Zeilen aufteilen

Da die Werte in der Datei durch Leerzeichen getrennt sind, verwenden Sie String#split ()-Methode zum Aufteilen jeder Zeile in einzelne Werte:

for (String line : lines) {
    String[] values = line.split("\s+");
}

Konvertieren von Strings in Ganzzahlen

Da es sich bei den Werten in der Textdatei um Ganzzahlen handelt, konvertieren Sie sie mit Integer#valueOf() in Ganzzahlobjekte:

for (String value : values) {
    Integer i = Integer.valueOf(value);
}

Hinzufügen zur Array-Liste

Erstellen Sie eine Array-Liste und fügen Sie ihr die konvertierten Ganzzahlen hinzu, indem Sie List#add() verwenden. Methode:

List<Integer> numbers = new ArrayList<>();
numbers.add(i);

Kombination der Schritte

Durch die Kombination dieser Schritte können Sie die Datei lesen und die Array-Liste auf einmal füllen:

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);
    }
}

Java 8 Stream API

In Java 8 können Sie das vereinfachen Prozess mithilfe der Stream-API:

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());

Das obige ist der detaillierte Inhalt vonWie lese ich eine Textdatei in eine ArrayList in Java ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn