Все работает, но Валя не пускает.
package com.javarush.task.task20.task2022;
import java.io.*;
/*
Переопределение сериализации в потоке
*/
public class Solution implements Serializable, AutoCloseable {
transient private FileOutputStream stream;
private String fileName;
public Solution(String fileName) throws FileNotFoundException {
this.fileName = fileName;
this.stream = new FileOutputStream(fileName);
}
public Solution(){}
public void writeObject(String string) throws IOException {
stream.write(string.getBytes());
stream.write("\n".getBytes());
stream.flush();
}
private void writeObject(ObjectOutputStream out) throws IOException {
out.defaultWriteObject();
out.writeObject(fileName);
// out.close();
}
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
this.stream = new FileOutputStream((String)in.readObject(),true);
// in.close();
}
@Override
public void close() throws Exception {
System.out.println("Closing everything!");
stream.close();
}
public static void main(String[] args) throws Exception{
try (FileOutputStream fos = new FileOutputStream("E:/test/file.txt");
FileInputStream fis = new FileInputStream("E:/test/file.txt")){
Solution solution = new Solution("E:/test/file1.txt");
solution.writeObject("bla bla ,bla ");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(solution);
ObjectInputStream ois = new ObjectInputStream(fis);
Solution newSolution = (Solution)ois.readObject();
newSolution.writeObject("la la la");
} catch (Exception e){}
}
}