FileReader

Lukases2

Aktives Mitglied
Ich möchte eine Textdatei mit FileWriter erstellen und diese anschließend lesen. Dazu habe ich folgendes geschrieben:
Java:
import java.io.FileWriter;
import java.io.FileReader;
import java.io.IOException;

public class Text {
	
	
	public void schreiben(String schreibeHierEtwas){
		
		try{
			FileWriter writer = new FileWriter("testing.txt");
			writer.write(schreibeHierEtwas);
			writer.close();
		}catch(IOException e){
			e.printStackTrace();
		}
	}
	
	public String lesen(){
		String s = null;
		FileReader reader = null;
		try{
			reader = new FileReader("testing.txt");
			int c = reader.read();
			while(c != -1){
				s += (char)c;
				reader.read();
			}
			reader.close();
		}catch(IOException e){
			e.getMessage();
		}
		return s;
	}
	
	 public static void main(String[] args) {
		 Text text = new Text();
		 text.schreiben("Ich habe schon alles probiert!");
		 System.out.println(text.lesen());
	 }
}

Ich bekomme keine Fehlermeldung und im Textdokument habe ich auch den entsprechenden Text. Leider bleibt die Konsole einfach leer, wenn ich das Programm starte.
Wenn ich schreibe

Java:
 Text text = new Text();
		 text.schreiben("Ich habe schon alles probiert!");
		 System.out.println("Hallo?");
		 System.out.println(text.lesen());
dann bekomme ich "Hallo?" angezeigt, wenn ich allerdings schreibe
Java:
Text text = new Text();
		 text.schreiben("Ich habe schon alles probiert!");
		 System.out.println(text.lesen());
		 System.out.println("Hallo?");
dann komm auch einfach gar nichts. Woran kann das liegen?
 

Joose

Top Contributor
Ich nehme an dein Programm bleibt in der Methode "lesen()" in der Schleife hängen.
Schon probiert mal mit dem Debugger auf Fehlersuche zu gehen?
 

Supra

Bekanntes Mitglied
Falls du dich nicht mit dem debugger auskennst kannst du auch mehrere ausgaben machen und gucken wo er stehen bleibt, eventuell auch mal alles ausgeben was du einliest.

EDIT: da ich grade nicht selber prüfen kann, habe ich mehrere vermutung die ich nicht testen kann
 
Zuletzt bearbeitet:

Lukases2

Aktives Mitglied
Ich kann mit dem Debugger (noch) nicht wirklich umgehen. Was zeigt er mir denn an, wenn da irgendwo ein Fehler ist?
Breakpoints habe ich in Zeile 32,24,25 gesetzt, auf den rechten Seite steht nun [Name, Value]:
this, Text(id=16)
s, null
reader, FileReader(id=17)
c, 87

Ist vielleicht s, null ein Fehler? Denn s müsste ja eigentlich etwas beinhalten, oder?
 
Zuletzt bearbeitet:

Joose

Top Contributor
Mit dem Debugger kannst du deinen Code Zeile für Zeile ausführen lassen und dir immer wieder anschauen welchen Wert die Variablen angenommen haben usw.
Naja zu Beginn der Methode "lesen()" setzt du den String s auf null, daher passt es schon. Nach dem 1.Schleifedurchlauf sollte s aber nicht mehr null sein.
 

Lukases2

Aktives Mitglied
Für s bekomme ich immer wiede den ersten Buchstaben das geschriebenen Strings. Für "Hallo" bekomme ich also "H", dann "HH", "HHH", ... . Irgendwie wird also nicht auf den nächsten Buchstaben übergegangen, sondern der Zeiger bleibt die ganze Zeit auf dem ersten Buchstaben hängen. Was ist also der Fehler?

Edit: Für den Code aus meinem ersten Beitrag würde also immer "I" kommen.
 
Zuletzt bearbeitet:

Joose

Top Contributor
Für "Hallo" bekomme ich also "H", dann "HH", "HHH", ... . Irgendwie wird also nicht auf den nächsten Buchstaben übergegangen, sondern der Zeiger bleibt die ganze Zeit auf dem ersten Buchstaben hängen. Was ist also der Fehler?

Java:
int c = reader.read();
while(c != -1){
    s += (char)c;
    reader.read();
}

Schau dir deinen Code genau an:
Was fügst du zu dem String s hinzu?
Wo legst du fest was du hinzufügst? Kann sich der Wert den du hinzufügst ändern?
 

Lukases2

Aktives Mitglied
Ich habe vergessen, mein c nach jedem Schleifendurchlauf zu ändern. Das führte dann dazu, dass die Schleife nie ein Ende hatte, weil sich eben der Wert nie geändert hat. Richtig müsste es heißen:

Java:
int c = reader.read();
			while(c != -1){
				s = s + (char)c;
				c = reader.read();
			}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D FileWriter / FileReader Problem Java Basics - Anfänger-Themen 10
S Mit FileReader lesen, in ArrayList speichern Java Basics - Anfänger-Themen 4
T filereader , file aus programm einlesen Java Basics - Anfänger-Themen 12
W FileReader - Bitte um Erklärung Java Basics - Anfänger-Themen 7
L FileReader Java Basics - Anfänger-Themen 2
D Hilfe bei FileReader und BufferedReader Java Basics - Anfänger-Themen 2
Y Datei mit relativem Dateipfad per FileReader aus .JAR heraus auslesen Java Basics - Anfänger-Themen 4
A FileReader Problem Java Basics - Anfänger-Themen 14
D JFileChooser & FileReader Java Basics - Anfänger-Themen 4
L Input/Output FileReader Pfadangabe Java Basics - Anfänger-Themen 7
L While-Schleife und filereader Java Basics - Anfänger-Themen 5
L FileReader und Filewriter Java Basics - Anfänger-Themen 4
F wo datei für filereader ablegen? Java Basics - Anfänger-Themen 11
M FileReader Zeilenangabe Java Basics - Anfänger-Themen 22
L RandomAcessFile getFilePointer in normalen FileReader Java Basics - Anfänger-Themen 4
H OOP FileReader Einleseergebnis Java Basics - Anfänger-Themen 5
R Von wo nimmt der FileReader seine daten Java Basics - Anfänger-Themen 7
J fileReader: wird dateipfad benötigt? Java Basics - Anfänger-Themen 8
Burny91 FileReader und Writer gleichzeitg nutzen Java Basics - Anfänger-Themen 2
Burny91 FileReader / FileWriter / BufferedWriter An einer bestimmten Zeile String ersetzten Java Basics - Anfänger-Themen 2
F FileReader Frage Java Basics - Anfänger-Themen 3
M Frage zur Klasse FileReader Java Basics - Anfänger-Themen 6
G Character-orientierte File-Streams mit der Klasse FileReader Java Basics - Anfänger-Themen 5
Hamstinator Frage zu BufferedReader/FileReader Java Basics - Anfänger-Themen 4
F FileReader Methode Read() int? Java Basics - Anfänger-Themen 2
calzone FileReader, lesen ohne die Datei zu überschreiben? Java Basics - Anfänger-Themen 3
K FileReader Systempfad Mac Java Basics - Anfänger-Themen 11
hdi FileReader / BufferedReader langsam? Java Basics - Anfänger-Themen 3
A Filereader - An den Anfang des File springen Java Basics - Anfänger-Themen 2
N Pfad und FileReader? Java Basics - Anfänger-Themen 2
S Filereader funktioniert nicht! Fehlersuche Java Basics - Anfänger-Themen 9
K Problem mit .toString und FileReader Java Basics - Anfänger-Themen 2
G filereader Java Basics - Anfänger-Themen 5
G zusätzliche "" bei Pfadangabe z.B. bei FileReader Java Basics - Anfänger-Themen 2
B Problem mit Filereader und filewriter Java Basics - Anfänger-Themen 20
H IOException bei FileReader Java Basics - Anfänger-Themen 3
P BufferedReader / FileReader Key und Values Java Basics - Anfänger-Themen 7
K FileReader BufferedReader & Arrays Java Basics - Anfänger-Themen 14
D Wie funktionieren FileReader Java Basics - Anfänger-Themen 6
M FileReader.read(char[]) - Größe des Arrays? Java Basics - Anfänger-Themen 4
R FileInputStream.read() != FileReader.read(). Pls Help Java Basics - Anfänger-Themen 5
S FileReader-Problem Java Basics - Anfänger-Themen 2
G Textdatei auslesen - Text anfügen - FileReader Java Basics - Anfänger-Themen 18
G FileReader Java Basics - Anfänger-Themen 10
P FileReader Java Basics - Anfänger-Themen 2
V filereader soll aus config.txt pfade lesen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben