我是遵循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用于对象(及其序列化),那么我应该使用哪一个?这两个都使用原始类型的示例类之间没有明显的区别。我通常也使用原始类型。

对于性能,哪个更好?还有其他较大的区别吗?

谢谢。

最佳答案

DataStreams用于基本类型为intfloatdouble等的I / O。

ObjectStreams用于对象的I / O。

如果您知道要显式地使用基本类型,请使用DataStreams,否则使用更通用的ObjectStreams来实现DataInput interfaceObjectInput interface,因此可以使用基本类型和对象。

关于java - “DataOutputStream”和“ObjectOutputStream”之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18580542/

10-10 17:18