2011-09-08 74 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個字節,並寫入那些