我是一名初学者程序员,正在关注这个Java教程 http://docs.oracle.com/javase/tutorial/.
In the 基本输入/输出 http://docs.oracle.com/javase/tutorial/essential/io/部分,提到的两个类是数据流 http://docs.oracle.com/javase/tutorial/essential/io/datastreams.html and 对象流 http://docs.oracle.com/javase/tutorial/essential/io/objectstreams.html.
它们的用法非常相似:
out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(dataFile)));
// ..
in = new DataInputStream(new BufferedInputStream(new FileInputStream(dataFile)));
for DataInputStream
and
out = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(dataFile)));
// ..
in = new ObjectInputStream(new BufferedInputStream(new FileInputStream(dataFile)));
for ObjectInputStream
我知道它是这么说的DataInputStreams
用于原始对象,并且ObjectInputStreams
用于对象(及其序列化),那么我应该使用哪一个?两个都使用基本类型的示例类之间没有明显的区别。我通常也使用原始类型。
就性能而言,哪一个更好?还有其他大的差异吗?
thanks.
DataStreams
用于 I/O原始类型哪个是int
, float
, double
等等。
ObjectStreams
用于 I/Oobjects.
如果您知道您将显式地使用原始类型,那么请使用DataStreams
,否则使用更通用的ObjectStreams
其中实施数据输入接口 http://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html也对象输入接口 http://docs.oracle.com/javase/7/docs/api/java/io/ObjectInput.html因此可以使用基元和对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)