Java输入和输出。

| 解释以下两个用于将int i输出到文件的代码片段的输出之间的区别: 一世)
PrintWriter outfile = new PrintWriter(new FileWriter(\"ints.txt\"));
outfile.print(i);
ii)
DataOutputStream out = new DataOutputStream(new FileOutputStream(\"ints.dat\"));
out.writeInt(i);
我认为打印机编写器采用字符串并将其转换为Unicode字符流,而dataoutput流将数据项转换为字节序列。 您还要添加什么?     
已邀请:
文件仅包含字节,因此所有文件最终都以字节结尾。 字符串已经是字符流。当您将字符串写入文件时,它必须将其转换为字节流。 一个int是四个字节。 writeInt()将其转换为大端序数。     
来自
DataOutputStream
javadoc:   数据输出流使   应用程序写入原始Java数据   输入到输出流中   便携式方式。然后,应用程序可以   使用数据输入流读取   数据返回。 来自
PrintWriter
javadoc   打印以下格式的表示形式   对象到文本输出流。 一切都只是字节,但是它们代表不同的事物。使用
DataOutpuStream
,您将获得可以直接读回原始Java类型
int
的字节,而使用
PrintWriter
,则不会。     
可能重复已经说过的内容,但只是为了使其更加明确: 当您使用印刷机时,说您的int值为65 -印刷机将打印2个字符:\'6 \'和\'5 \' 当您使用outputstream时,它将打印字节,因此它将向文件中写入一个值为65的字节-这恰好是ASCII / UTF-8中\'A \'的字符代码,因此,如果打开在文本编辑器中的文件中,您会看到一个\“ A \”字符-而不是\'6 \',后跟\'5 \',如上所述。     

要回复问题请先登录注册