Datei in einen String einlesen

Status
Nicht offen für weitere Antworten.

xchookie

Mitglied
Hi!

Ich möchte eine komplette Datei in einen einzigen String einlesen.
Wie mache ich das am besten, so dass es auch möglichst zügig geht?
Muss nur auf der Konsole laufen.

Gruß,
xchookie
 
B

bygones

Gast
Code:
File file = new File(DATEI);
BufferedReader in = new BufferedReader(new FileReader(file));
StringBuffer buf = new StringBuffer(file.length());
String line;
while( (line = in.readLine()) != null) {
  buf.append(line);
}
in.close():
System.out.println(buf.toString());

Also - BufferedReader & StringBuffer nehmen
 

xchookie

Mitglied
Code:
StringBuffer buf = new StringBuffer(file.length());

file.length ist ein long-Wert, damit ist der Compiler aber für StringBuffer nicht einverstanden.
Andere Ideen oder ein Workaround?
 

DP

Top Contributor
genau, carsten hat recht ;)

immer an den stringbuffer denken, wenns mal mehr zeichen sind ;)
 

xchookie

Mitglied
Danke für die weiteren Antworten.
Nach ein bisschen Basteln bin ich dann zu folgender Lösung gekommen.
Beispielprogramm:

Code:
import java.io.*;

public class Lesen
{
  public static void main(String[] args)
  {
    try
    {
      FileReader in = new FileReader("datei.txt");
      StringWriter sout = new StringWriter();
      int c;
      String text;
      while ((c=in.read()) !=-1)
        sout.write(c);
      text=sout.toString();
      System.out.println(text);
    } catch (IOException e) {
      System.out.println("Fehler: "+e);
    }
  }
}

Das war auch schon alles. :)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben