2011-09-08 69 views
1

我使用Java IO的DataOutputStream为了写入文件,但是当我执行该程序,我没有得到正确的输出,而是,我得到奇怪的字符。 - 尽管我注意到只使用writeUTF(String str)方法编写字符串,即使使用writeBytes(String s)也会产生一个奇怪的字符,它应该是空格字符 - 写入文件的代码部分在下面,可能的原因,可能与编码有关?提前致谢。奇怪的输出,而使用DataOutputStream

FileOutputStream fs= new FileOutputStream("Path/to/my/file"); 

DataOutputStream ds = new DataOutputStream(fs); 


ds.writeBoolean(false); 
ds.writeChar('A'); 
ds.writeInt(42); 
ds.writeBytes("test1"); 
ds.writeUTF("test2"); 


fs.close(); 

回答

2

DataOutputStream类被定义为写入字节,不是字符的流的流。无论人类是否可以阅读,这个字节流的目的都是有效和便携地存储的。

如果您想要人类可读的文本文件,请使用XML编写器。

顺便说一句,你输出为正确的,它是相当的了解,是错误的。您可能只需要阅读并理解该课程附带的documentation

+0

会做,谢谢。 – bremmS

1

数据流的二进制数据DataOutputStream类以二进制格式写入整数,即,它拆分成整数的4个字节,并写入那些