Wie kann ich eine .txt-Datei in eine einzelne Java-Zeichenkette einlesen und dabei Zeilenumbrüche beibehalten?

8

Praktisch jedes Codebeispiel liest eine TXT-Datei Zeile für Zeile und speichert sie in einem String-Array. Ich möchte keine Zeile-für-Zeile-Verarbeitung durchführen, da dies meiner Meinung nach eine unnötige Verschwendung von Ressourcen für meine Anforderungen darstellt: Ich möchte lediglich schnell und effizient den TXT-Inhalt in einen einzigen String ablegen. Die folgende Methode funktioniert, allerdings mit einem Nachteil:

%Vor%

... der Nachteil ist, dass die Zeilenumbrüche in lange Zwischenräume umgewandelt werden, z. "".

Ich möchte, dass die Zeilenumbrüche von \ n oder \ r in & lt; br & gt; umgewandelt werden. (HTML-Tag) statt.

Vielen Dank im Voraus.

    
slashline 25.05.2011, 14:36
quelle

7 Antworten

3

Wie wäre es mit einem Scanner und dem Hinzufügen der Zeilenvorschübe selbst:

%Vor%

Ich sehe nicht, wo Sie Ihre langen Räume bekommen.

    
user unknown 25.05.2011, 14:56
quelle
3

Sie können direkt in den Puffer lesen und dann einen String aus dem Puffer erstellen:

%Vor%     
Robert 25.05.2011 15:04
quelle
1

Sie könnten diesen Code hinzufügen:

%Vor%

Ist das wonach Sie suchen?

    
Fabrizio D'Ammassa 25.05.2011 14:43
quelle
1

Der Code liest die Dateiinhalte so, wie sie in der Datei erscheinen - einschließlich Zeilenumbrüchen. Wenn Sie die Pausen in etwas anderes ändern möchten, wie das Anzeigen in HTML usw., müssen Sie es entweder nachbearbeiten oder indem Sie die Datei zeilenweise lesen. Da Sie das letztere nicht wollen, können Sie Ihre Rückkehr ersetzen, indem Sie folgen, die die Umwandlung durchführen sollten -

%Vor%     
d-live 25.05.2011 14:49
quelle
0
%Vor%

Ihre resultierende String : String result = sb.toString();

Ersetzen Sie dann, was Sie wollen in diesem result .

    
binnyb 25.05.2011 15:01
quelle
0

Ich stimme dem allgemeinen Ansatz von @Sanket Patel zu, aber mit Commons I / O würden Sie wahrscheinlich Datei-Utilities .

Ihr Codewort sieht also so aus:

%Vor%

Es gibt auch eine andere Version, um eine alternative Zeichencodierung anzugeben.

    
demongolem 03.03.2016 19:30
quelle
0

Sie sollten versuchen org.apache.commons.io.IOUtils.toString (InputStream ist), um Dateiinhalt als String zu erhalten. Dort können Sie das InputStream-Objekt übergeben, das Sie von

erhalten %Vor%

in Ihrer Aktivität. Um die Zeichenfolge zu erhalten, benutze dies:

%Vor%

Also,

%Vor%     
Sanket Patel 03.09.2013 11:14
quelle

Tags und Links