es ist mir schon fast peintlich diese Frage zu stellen, aber nach so einer großen Pause, habe ich schon fast alles vergessen was ich gelernt habe und muss jetzt fast wieder von null anfangen. :twisted:
Ich bin jetzt wieder bei Streams gelandet und habe mit der Klasse “File” eine Textdatei erstellt und mit hilfe von Klassen “FileWriter” und “PrintWriter” in die Datei einen String reingeschrieben. Jetzt möchte ich das was in der Datei steht, in der Konsole anzeigen. Mit welcher Klasse kann ich das machen? Welche Klasse kann eine Textdatei lesen? Ich will danach mit:
PrintWriter pw2 = new PrintWriter(System.out);
pw2.print(/*Klasse die ich benötige um die Textdatei zu lesen*/);
pw2.close();
in der Konsole das wieder ausgeben.
Schade dass ich so vieles verlernt habe, die Pause war zu groß. Naja kann man nichts machen.
EDIT:
ich habe es so versucht, nur bekomme ich “null”.
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class Ausgabe {
public static void main(String[] args) throws IOException {
String s, s2;
s = "Das ist ein Test.";
//Datei erstellen und Text reinschreiben
File f = new File ("datei.txt");
FileWriter fw = new FileWriter(f);
PrintWriter pw = new PrintWriter(fw);
//Lesen aus dieser Datei
FileReader fr = new FileReader("datei.txt");
BufferedReader br = new BufferedReader(fr);
s2 = br.readLine();
PrintWriter pw2 = new PrintWriter(System.out);
pw.println(s);
pw.close();
pw2.print(s2);
pw2.close();
}
}
ich habe mir alles durchgelesen, ich habe aber nicht alles verstanden was dort steht. Ich habe nicht ganz verstanden wofür InputStreamReader gut ist. Ich habe FileReader der die Datei lesen kann und dann puffere das mit dem BufferedReader. Sollte das nicht ausreichen?
InputStreamReader in = new InputStreamReader(socket.getInputStream());
Die Methode socket, kennt eclipse nicht, was ist das eigentlich?
//Lesen aus dieser Datei
FileReader fr = new FileReader("datei.txt");
BufferedReader br = new BufferedReader(fr);
String line;
while((line=br.readLine())!=null)
System.out.println(line);
der InputStreamReader ist eine Wrapper Klasse dafür wenn du nur einen InputStream hast aber doch einen Reader benutzen willst → Stream in InputStreamReader → in …Reader
das socket ist ein Objekt vom Socket
aber eigentlich sollte deine Sache da passen, in der Datei ist was drin?
trag mal System.out.println(new File(„datei.txt“).exist()); ein
es klappt :twisted: . Ich habe 10 mal versucht und es ging nicht. Nachdem ich die Ecplise neugestartet habe, gings. Hat er irgendwas nicht aktuallisiert, kann so was passieren?
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class Ausgabe {
public static void main(String[] args) throws IOException {
String s, s2;
s = "Das ist ein Test!";
//Datei erstellen und Text reinschreiben
File f = new File ("datei.txt");
FileWriter fw = new FileWriter(f);
PrintWriter pw = new PrintWriter(fw);
pw.println(s);
pw.close();
//Lesen aus dieser Datei
FileReader fr = new FileReader("datei.txt");
BufferedReader br = new BufferedReader(fr);
PrintWriter pw2 = new PrintWriter(System.out);
s2 = br.readLine();
pw2.println(s2);
}
}
Warum klappt es mit PrintWriter nicht? Mit System.out.println geht, aber mit mit PrintWriter funktioniert nicht, auf der Konsole wird nichts angezeigt.