programımın zaten orada bulamazsa bir dosya oluşturur, böylece bunu yapmak için nasıl merak ediyorum?FileNotFoundException nasıl önlenir?
public void load() throws Exception {
try
{
File log = new File(FILE_NAME); //opens the file
FileInputStream fileIn = new FileInputStream(log);
ObjectInputStream in = new ObjectInputStream(fileIn); //de-serializes
videosList = (ArrayList)in.readObject(); // de-serializes
in.close(); //closes the file
fileIn.close();
} catch(Exception i)
{
i.printStackTrace();
}
Ve bu alıyorum hatadır: programım da bir GUI programıdır çünkü orada
java.io.FileNotFoundException: Users/hanaezz/Desktop/output.ser (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at videostore.BinaryFile.load(BinaryFile.java:31)
at videostore.VideoStore.<init>(VideoStore.java:33)
at videostore.VideoStore$6.run(VideoStore.java:430)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Tüm ilave şeyler. Sonra da bir dosyaya benim nesneyi yazmak gerekiyor bir yöntem ...
public void writeToFile() throws Exception{
FileOutputStream outputStream = new FileOutputStream(FILE_NAME);
ObjectOutputStream oos = new ObjectOutputStream(outputStream);
oos.writeObject(videosList);
oos.close();
outputStream.close();
}
Aynı durum atar var. Bundan nasıl kurtulabilirim? Ben bunu bulamayan dosyası oluşturmak için FIS/OIS nasıl değiştirileceğini emin değilim .. yoksa ben FOS/OOS yerine bunu yapmak için daha verimli olacaktır herhalde?
Err, varolmayan bir dosyayı açmaya çalışma. Bu durumda, dosya adında bir '' '' '' '' '' '' 'eksik '' gibi görünüyorsunuz. – EJP
Olası çoğaltılabilir [kontrol dosyası var java] (http://stackoverflow.com/questions/1237235/check-file-exists-java) – Ducaz035
@ Ducaz035 Kesinlikle değil. Bu mevcut bir dosyaya ekleme ile ilgili. – EJP