Witam, chcę zapisać obiekt do pliku. Oczywiście klasa z której pochodzi obiekt implementuje interfejs Serializable.
import java.io.*;
import java.io.Serializable;
public class ZapisDoPliku {
// deserialize to Object from given file
public static Object deserialize(String nowezamowienie) throws IOException,
ClassNotFoundException {
FileInputStream fis = new FileInputStream(nowezamowienie);
ObjectInputStream ois = new ObjectInputStream(fis);
Object obj = ois.readObject();
ois.close();
return obj;
}
// serialize the given object and save it to file
public static void serialize(Zamowienie z, String jakisplik)
throws IOException {
FileOutputStream fos = new FileOutputStream(jakisplik);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(z);
fos.close();
}
}
Wywołanie:
ZapisDoPliku.serialize(z, "/home/pawel/IdeaProjects/proj/src/main/java/pl/kurs/zadania/zadanie14/jakisplik");
Przy
oos.writeObject(z);
Dostaję:
Exception in thread "main" java.io.NotSerializableException: sun.nio.fs.UnixPath
Ktoś ma jakiś pomysł? Na macu i windowsie działa poprawnie.