Weiß wer wie man den Inhalt einer File in einen String mit Zeilenumbruch speichern kann?

2 Antworten

String string = String.join("\r\n", Files.readAllLines(Paths.get("(Dateipfad)")));

Statt (Dateipfad) musst du halt den Pfad reinschreiben. Backslashes müssen immer doppelt drinstehen (Also z.B. "C:\\temp\\test.txt").

Und es verlangt einen exception handler für eine IOException. Also du musst es entweder mit try-catch umschließen oder bei der Funktion, in der es steht noch "throws IOException" dranschreiben.

Hey. Das funktioniert so:

Schritt 1: Du nimmst einen StringBuilder, das ist für Deinen Zweck am einfachsten:

StringBuilder stringBuilder = new StringBuilder();

Schritt 2: Um die Datei auszulesen nimmst Du am Besten einen BufferedReader. Diesen kannst Du über das java.nio package bekommen:

BufferedReader bufferedReader = Files.newBufferedReader(file.toPath());

Schritt 3: Jetzt packst Du jede Zeile in der File an den String dran:

bufferedReader.lines().forEach(line -> stringBuilder.append(line + "\n"));
bufferedReader.close();

Schritt 4: Den StringBuilder machst Du jetzt nur noch zu einem String:

String str = stringBuilder.toString();

Und das war es auch schon. Ich habe Dir hier den Code auch nochmal auf GitHub in ein gist gepackt. Viel Spaß damit :)

PS: Um den Zeilenumbruch zu kennzeichnen habe ich jetzt hier direkt "\n" genommen, welches einen Zeilenumbruch impliziert. Du kannst dort aber auch jedes andere Zeichen nehmen, wenn Du damit arbeiten möchtest.

Woher ich das weiß:Hobby – Hobby-Entwickler in diversen Sprachen seit 2017