T
triopsfreak
Gast
Ich versuche auf eine Eingabe in ein File direkt zu reagieren, dazu habe ich zwei Threads:
WriteThread
Es wird in die Datei geschrieben, das habe ich überprüft, aber der andere Thread reagiert nicht darauf:
ReadThread
Wie muss ich das realisieren? Ich habe es auch schon ohne Endlosschleife probiert, also so:
WriteThread
Java:
class WriteThread extends Thread{
File f = new File("C:/test.txt");
FileWriter fw = new FileWriter(f);
public WriteThread() throws Exception{
super();
}
@Override
public void run(){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
try {
fw.write(sc.nextLine());
fw.write(System.getProperty("line.separator"));
fw.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
ReadThread
Java:
class ReadeThread extends Thread {
File f = new File("C:/test.txt");
public ReadeThread() throws Exception {
super();
}
@Override
public void run() {
Scanner sc = null;
try {
sc = new Scanner(f);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
while (true) {
if (sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
}
}
}
Wie muss ich das realisieren? Ich habe es auch schon ohne Endlosschleife probiert, also so:
Java:
@Override
public void run() {
Scanner sc = null;
try {
sc = new Scanner(f);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
while(sc.hasNextLine()){
System.out.println(sc.nextLine());
}
}