2013-08-20 2 views
0

Я пытаюсь записать двоичный файл в указанную папку, однако он продолжает давать мне исключение. Например, если я пишу файл без указания папки программа записывает без проблем:FileOutputStream записывает двоичный файл в указанную папку

public void saveFile(String name) throws IOException { 
    ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(name + ".bin")); 
    out.writeObject(this); 
    out.close(); 
} 

Однако, когда я пытаюсь указать папку программа просто не записывает файл:

public void saveFile(String name) throws IOException { 
    File location = new File("/path/" + name + ".bin"); 
    FileOutputStream fos = new FileOutputStream(location); 

    ObjectOutputStream out = new ObjectOutputStream(fos); 
    out.writeObject(this); 
    out.close(); 
    fos.close(); 
} 

Я пробовал несколько разных способов, но до сих пор нет решения. Кто-нибудь знает, что я делаю неправильно?

+0

Написать стек trace –

ответ

0

Проверьте, подходит ли класс, который вы хотите написать, Serializable или нет.

public class Foo implements java.io.Serializable{ 

    //... 

    public void write() throws IOException{ 
     ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("Test.bin")); 
     os.writeObject(this); 
     os.close(); 
    } 

} 

Еще одна проблема: Если нет папки с именем path он не может записать объект

Проверьте код.

+0

Да, это сериализуемо. Способ, которым вы пользуетесь, - это то, как я могу это сделать, без указания пути. Таким образом, я могу сделать это без проблем. – undisp

+0

Проверьте, есть ли папка с именем, которое вы хотите. –

+0

Проблема решена. Большое спасибо, чувак :) Я думал, что программа автоматически создаст путь, но кажется, что я ошибся. – undisp

0

Единственная причина, кажется, для не Сериализация, что и не может быть реализован Serializable интерфейс и дать свое имя пути правильно для, например: - «C: \ Users \ ..» Надеюсь, что это работает

+0

Проблема заключалась в том, что я вводил не существующий путь. Я думал, что программа создаст этот путь, но это не ... – undisp

Смежные вопросы