我是初学者程序员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
用于对象(以及它们的序列化),那么我应该使用哪一个?两个使用原始类型的示例类之间没有明显的区别。我通常也使用原始类型。
对于表现,哪一个更好?还有其他大的差异吗?
感谢。
答案 0 :(得分:6)
DataStreams
用于原始类型的I / O,int
,float
,double
等等。
ObjectStreams
用于对象的I / O 。
如果您知道将要明确使用原始类型,那么请使用DataStreams
,否则请使用实现DataInput interface的更通用的ObjectStreams
以及{{3}所以可以使用基元和对象。