我是遵循Java Tutorial的初学者。
在Basic I/O部分中,提到的两个类是Data Streams和Object 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
用于基本类型为int
,float
,double
等的I / O。ObjectStreams
用于对象的I / O。
如果您知道要显式地使用基本类型,请使用DataStreams
,否则使用更通用的ObjectStreams
来实现DataInput interface和ObjectInput interface,因此可以使用基本类型和对象。
关于java - “DataOutputStream”和“ObjectOutputStream”之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18580542/