mein erster Post hier. Ich hoffe ihr könnt mir helfen. Folgendes Ich möchte einen Text aus einer Datei lesen. Ansich is das kein Problem und funktioniert schon ganz gut. Der Text wird derzeit aus der console ausgegeben. Nun möchte ich den ausgelesenen Text gern in einer Variable vom Typ String speichern, um diese an eine Textarea zu übergeben. Meine bisherige Methode zum auslesen der Datei sieht so aus. Ich lass das was ich mir gedacht hab betreffend des Strings mal auskommentiert. Ich würd mich freuen, wenn jemand weiss, wie ich das problem beheben kann.
Code:
public static void readStoryline(){
BufferedReader story;
String storyline;
try{
story = new BufferedReader(new FileReader("C:\\workspace\\Zuul\\Files\\storyline.dat"));
int c = story.read();
while(c != -1){
System.out.print((char)c);
[b]//c.toString();[/b]
//Hier müsste jetzt die belegen folgen.
c = story.read();
}
[b]//txtField.setText(storyline);[/b]
story.close();
System.out.print(" Datei ausgelesen\n");
System.out.print(storyline);
}catch(FileNotFoundException f){System.out.print("Datei nicht gefunden");}
catch(IOException e){}
}
Bekanntlich funktionieren cast von char auf String nicht. Hat jemand ne Idee? Danke Danke Danke schonmal.
Ich habe vorhin den code mal mit meinem gemerged, da entstanden nicht nachvollziehbare Fehler. Habe dann nchmal was versucht. Das scheint auch zu funktionieren. Nur bekomme trotzdem nen fehler:
Code:
BufferedReader story;
String path = "C:\\workspace\\Zuul\\Files\\storyline.dat";
try{
String temp = null;
StringBuffer text = new StringBuffer(path);
while ((temp = story.readLine()) != null) {// hier taucht der fehler auf variable story wäre nicht initialisiert
text.append(temp + "\n");
}
txtField.setText(text.toString());
Habe den code mal noch bisschen angepasst. Was meint ihr? Und danke für die nerven die ihr lasst^^
Stringbuffer liest keine Dateien ....
sondern buffert Strings
deinen "path" musste dem BufferedReader übergeben mit einem
Filereader zusammen, vielleicht machste erstmal einen Schritt nach dem anderen
also so in etwa:
Code:
String path = "C:\\workspace\\Zuul\\Files\\storyline.dat";
BufferedReader story = new BufferedReader(new FileReader(path));
try{
String temp = null;
StringBuffer text = new StringBuffer();
while ((temp = story.readLine()) != null) {// hier taucht der fehler auf variable story wäre nicht initialisiert
text.append(temp + "\n");
}
txtField.setText(text.toString());
Danke, hat ich schon dran gedacht^^. Aber mal noch was anderes. Der Text hat ne gewisse formatierung. Also Zeilenumbrüche zum beispiel Überschrift und 2 zeilen frei dann text. Ich bin jetzt soweit, das ich erstmal rausgefunden hab, dass ich das an ein StyledDocument übergeben muss. In dem Text, sind keine Farben, andere Schriftarten oder sonstiges. nur die Zeilenumbrüche hauen halt nich hin.
Code:
txtPane.setDocument();
setzt ja den Document Typ wenn ich das auf der Swing Seite von sun richtig gelesen habe. Aber dann reicht entweder mein englisch nicht, oder ich bin einfach zu doof dazu^^. Hat wer ne Idee wie ich die Zeilenumbrüche da rein bekomme?