Hallo,
Ich glaube gerade ich habe es mit einem Geist zu tun.
Ich habe in Eclipse diesen Code, der von eienr vorgegebenen Datei bei Bedarf den Text einliest oder den Text updated:
In einer anderen Klasse habe ich fogenden Code, der obigen Code nutzt um abzugleichen ob zwischen jetzt und der in der Datei gespeicherten Zeit 3 Tage vergangen sind:
Das Schlimme bzw. komische ist nur:
der Code läuft soweit und scheint auch irgendwie mit der Datei zu interagieren.
Nur existiert diese Datei gar nicht, sie ist nirgends im entsprechenden Workspace Ordner zu finden.
Dass sie dort sein müsste weiß ich weil ich auch andere .ods Dateien dort drin habe, die auf ähnliche Art und Weise ausgelesen werden.
ich bin sehr verwirrt denn Eclipse läuft als gäbe es die Datie mit entsprechendem Inhalt.
Ausgabe der Konsole sieht dann so aus:
Ich glaube gerade ich habe es mit einem Geist zu tun.
Ich habe in Eclipse diesen Code, der von eienr vorgegebenen Datei bei Bedarf den Text einliest oder den Text updated:
Java:
import java.io.*;
import java.util.Scanner;
public class txtManager {
File file = new File(".\\TimeStamp.txt");
FileWriter fw;
public txtManager() {}
public String read() {
System.out.println("file.exists()?" + file.exists());
try {
Scanner in = new Scanner(new FileReader(file));
StringBuilder sb = new StringBuilder();
while (in.hasNext()) {
sb.append(in.next());
}
in.close();
String outString = sb.toString();
System.out.println("outString=" + outString);
return outString;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "";
}
public void write(String a) {
try {
fw = new FileWriter(file, false);
fw.write(a);
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
In einer anderen Klasse habe ich fogenden Code, der obigen Code nutzt um abzugleichen ob zwischen jetzt und der in der Datei gespeicherten Zeit 3 Tage vergangen sind:
Java:
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
public class Timer {
txtManager txtm = new txtManager();
LocalDateTime lastStoredTime = getStoredTime();
public boolean isWaitTimeOver() {
LocalDateTime thisTime = LocalDateTime.now();
System.out.println("lastStoredTime: "+lastStoredTime);
System.out.println("thisTime: "+thisTime);
return ((lastStoredTime.until(thisTime, ChronoUnit.DAYS)) >= 3);
//return true;
}
public LocalDateTime getStoredTime() {
String a = txtm.read();
if (a.equals("")) {
LocalDateTime thisTime = LocalDateTime.now();
a = thisTime.toString();
}
LocalDateTime dateTime = LocalDateTime.parse(a);
return dateTime;
}
public void updateStoredTime() {
LocalDateTime thisTime = LocalDateTime.now();
lastStoredTime = thisTime;
String a = thisTime.toString();
txtm.write(a);
}
}
Das Schlimme bzw. komische ist nur:
der Code läuft soweit und scheint auch irgendwie mit der Datei zu interagieren.
Nur existiert diese Datei gar nicht, sie ist nirgends im entsprechenden Workspace Ordner zu finden.
Dass sie dort sein müsste weiß ich weil ich auch andere .ods Dateien dort drin habe, die auf ähnliche Art und Weise ausgelesen werden.
ich bin sehr verwirrt denn Eclipse läuft als gäbe es die Datie mit entsprechendem Inhalt.
Ausgabe der Konsole sieht dann so aus:
Code:
file.exists()?true
outString=2022-09-14T21:21:09.989883400
lastStoredTime: 2022-09-14T21:21:09.989883400
thisTime: 2022-09-14T21:22:18.141599400
isWaitTimeOver: false