Java .txt Datei zu Array?

2 Antworten

try (var lines = Files.lines(Path.of("test.txt"))) {
  String[] result = lines
          .flatMap(s -> Stream.of(s.split("\\s+")))
          .toArray(String[]::new);

  System.out.println(Arrays.toString(result));
}

Das wäre eine universelle Grundstruktur. Beim Split kann man noch nach Bedarf die Regex verfeinern.

Wenn wir damit leben können, erst die komplette Datei einzulesen (was bei der angegebenen Größe kein Problem ist), kann man das aber noch stark vereinfachen:

String s = Files.readString(Path.of("/tmp/test.txt"));
String[] result = s.split("\\s+");

System.out.println(Arrays.toString(result));

Ziemlich einfach sogar...

Einfach am Leerzeichen trennen. Die Textdatei muss natürlich in einer Variable stehen.

let felder = txtstring.split(' ');

Beim einlesen drauf achten, das er jeden Zeilenumbruch mit einem Leerzeichen ersetzt.

ralphdieter  07.10.2023, 02:37
Beim einlesen drauf achten, das er jeden Zeilenumbruch mit einem Leerzeichen ersetzt.

Oder einfach nur:

felder = txtstring.split('\\s');

\s steht für „A whitespace character: [ \t\n\x0B\f\r]“ (Quelle)

1