Ich versuche, die Datei zu lesen und FileNotFoundExeption zu erhalten.Datei ist nicht lesbar nach file.setReadable (true)
File file = new File("News.out");
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
try{
in.readObject();
}
Ich überprüfe, dass die Datei wirklich in dem Verzeichnis vorhanden ist und überprüfen Sie "lesbare" Eigenschaft der Datei.
Dann habe ich programmatische Einstellung von „lesbar“ und „beschreibbaren“ Eigenschaften
file.setReadable(true);
file.setWritable(true);
System.out.println(file.canRead());
System.out.println(file.canWrite());
Und bekam in Protokollen falsch, falsch.
Was könnte der Grund dafür sein?
EDIT:
Ich habe versucht, JSR 203 und diesen Code verwenden:
Path path = FileSystems.getDefault().getPath(filename);
try(
final InputStream in = Files.newInputStream(path);
) {
ObjectInputStream objectInputStream = new ObjectInputStream(in);
newsStorage.setEntities((ArrayList<News>) objectInputStream.readObject());
} catch (NoSuchFileException e) {
createFile(path, filename);
handleException(e);
}
Und Createfile() -Methode:
private void createFile(Path path, String string) {
try {
Files.newOutputStream(path, StandardOpenOption.CREATE);
} catch (IOException e1) {
e1.printStackTrace();
}
}
Datei wurde nicht erstellt.
Habe ich das richtig verstanden, dass
Files.newOutputStream(path, StandardOpenOption.CREATE);
eine Datei erstellen soll?
Wie starten Sie Ihre Anwendung? –
@Ortomala Lokni Es ist Eclipse RCP-Anwendung, ich führe es von Eclipse IDE mit Run Configuration. –
Drucken Sie 'System.getProperty (" user.dir "))' und prüfen Sie, ob 'News.out' drin ist. –