Java序列化:如何使用Object InputStream / Object Output Stream

时间:2017-06-20 12:48:35

标签: java oop serialization deserialization

我正在学习Java语言,感谢“Deitel& Deitel如何在Java 10ed中编程”。 但是我对理解文件中的对象流有一些问题。 我知道ObjectOutputStream使您能够在文件中编写Object。 使用Book的话:ObjectOutputStream用Stream对象初始化,因为它在文件中写入了字节。 相反,ObjectInputStream使您能够读取文件中的Object。 ObjectInputStream用一个Stream Object初始化,用于从文件中捕获字节。 但什么是Stream对象? 这是输出代码:

output = new ObjectOutputStream(Files.newOutputStream( Paths.get("clients.ser")));

这是输入的代码:

input = new ObjectInputStream(Files.newInputStream(Paths.get("clients.ser"));

什么是Files.newOutputStream?它会回归什么?

感谢您的注意 (如果你告诉我学习java的书比我的好,那就非常好!)

(我是意大利人,所以也许我的英语不太好)

2 个答案:

答案 0 :(得分:1)

此方法打开或创建文件并返回可用于将字节写入文件的输出流。这个返回的流是线程安全的。

详细说明请访问: Java Doc

答案 1 :(得分:0)

Files.newOutputStream创建一个OutputStream对象,使您可以写File Path path newOutputStream(Path path, OpenOption... options)参数public class MyClass { String string1; List<String> stringList; Boolean flag; Map<String, String> map; }