有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

“DataOutputStream”和“ObjectOutputStream”之间的java差异

我是一个初学者程序员,学习这个Java Tutorial

Basic I/O部分中,提到的两个类是Data StreamsObject Streams

它们的用法非常相似:

out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(dataFile)));

// ..

in = new DataInputStream(new BufferedInputStream(new FileInputStream(dataFile)));

对于DataInputStream

out = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(dataFile)));

// ..

in = new ObjectInputStream(new BufferedInputStream(new FileInputStream(dataFile)));

对于ObjectInputStream

我知道上面说DataInputStreams用于基本对象,而ObjectInputStreams用于对象(以及它们的序列化),那么我应该使用哪一个呢?两个都使用基元类型的示例类之间没有明显的区别。我通常也使用基本类型

就性能而言,哪一个更好?还有其他大的区别吗

谢谢


共 (1) 个答案

  1. # 1 楼答案

    DataStreams用于基本类型的I/O,这些基本类型是intfloatdouble等等

    ObjectStreams用于对象的I/O

    如果您知道要显式地处理基元类型,那么使用DataStreams,否则使用更通用的ObjectStreams,它实现了DataInput interfaceObjectInput interface,因此可以处理基元和对象