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!