readline liefert immer null
-
hallo
hab folgende methode geschriftelt:
public String Foerderer (int zeile) { String line = "", Fe = ""; int i = 0; LineNumberReader lnr = new LineNumberReader(filebuffer); lnr.setLineNumber(zeile); try { line = lnr.readLine(); //hier bekomm ich immer null zurück }catch(Exception ex) {System.err.println("Fehler in Methode: Foerderer"); System.err.println("Fehler beim lesen des Buffers:/n"+ex);} while(line.charAt(i) != ' ') { Fe = Fe + line.charAt(i); i++; } return(Fe);
zum testen hab ich mal zeilen 0 - 3 ausprobiert aber wie schon erwähnt bekomm ich in jedem fall null zurück.
null bekomm sollt ich ja nur am ende des streams bekommen. also könnt mich wer
aufklären wo ich einen fehler gemacht hab oder was ich nicht bedacht hab?aja das file das ich einlese enhält zeilen wie folgt:
6.1: hf001 6.2: hf003 9.2: hf005 10.1: hf001 10.2: hf001 11.1: hf001
danke für eure hilfe
lg peace
-
Und was is filebuffer?
-
gje schrieb:
Und was is filebuffer?
Ich schätze mal ein BufferedReader.
Vielleicht gibt es die Zeile nicht, die du einstellst und du bekommst null zurück.
Da du line nicht auf null prüfst ist eine Exception vorprogrammiertif(line == null) return FE; while(line.charAt(i) != ' ') { Fe = Fe + line.charAt(i); i++; }
Guck mal nach, wie du die Methode aufrufst.
-
filebuffer
is ein BufferdReaderich les in einer anderen methode das file in den BufferdReader und verwend den dann in den anderen methoden:
public class ReadOutText { BufferedReader filebuffer = null; public void readInFile (String filename) { try { FileReader file = new FileReader(filename); filebuffer = new BufferedReader(file); }catch(Exception ex) {System.out.println("Fehler beim einlesen der Datei" + ex);} } public int zeilenAnzahl () {//... } public String Foerderer (int zeile) {//... } }
//edit:
Vielleicht gibt es die Zeile nicht, die du einstellst und du bekommst null zurück.
doch eben die zeien haben einen inhalt
das file hat 6 zeilen
und ich bekomm egal welche zeile ich auswähle immer null zurück
sonst wärs für mich ja anhähernd logisch wenn ich beispielsewise in der 7. zeile null bekommaber eben nicht, bekomm in JEDER zeile null
//nochmal edit:
ich bekomm ja auch ohne .setline, also nur mit filebuffer.readline() null zurück
-
oh mann
ich entschuldig mich für die doofe fragehab den fehler gefunden!
ich hab vergessen den BufferdReader zu schließen.
deshalb war er am ende des files und gab auch korrektermasen null zurück