DataOutputStream的相關方法以及如何讀出需要的內容

 void writeBoolean(boolean v) 
          將一個 boolean 值以 1-byte 值形式寫入基礎輸出流。 
 void writeByte(int v) 
          將一個 byte 值以 1-byte 值形式寫出到基礎輸出流中。 
 void writeBytes(String s) 
          將字符串按字節順序寫出到基礎輸出流中。 
 void writeChar(int v) 
          將一個 char 值以 2-byte 值形式寫入基礎輸出流中,先寫入高字節。 
 void writeChars(String s) 
          將字符串按字符順序寫入基礎輸出流。 
 void writeDouble(double v) 
          使用 Double 類中的 doubleToLongBits 方法將 double 參數轉換爲一個 long 值,然後將該 long 值以 8-byte 值形式寫入基礎輸出流中,先寫入高字節。 
 void writeFloat(float v) 
          使用 Float 類中的 floatToIntBits 方法將 float 參數轉換爲一個 int 值,然後將該 int 值以 4-byte 值形式寫入基礎輸出流中,先寫入高字節。 
 void writeInt(int v) 
          將一個 int 值以 4-byte 值形式寫入基礎輸出流中,先寫入高字節。 
 void writeLong(long v) 
          將一個 long 值以 8-byte 值形式寫入基礎輸出流中,先寫入高字節。 
 void writeShort(int v) 
          將一個 short 值以 2-byte 值形式寫入基礎輸出流中,先寫入高字節。 
 void writeUTF(String str) 
          以與機器無關方式使用 UTF-8 修改版編碼將一個字符串寫入基礎輸出流。 



看看這些資料你應該能明白,DataOutputStream是一種格式化的數據輸出方式而並非都是字符流 
如果寫到文件中他的數據格式 就和在內存中一樣 這樣他讀出來是會很方便

但文本打開的是字符編碼的 你想想 int long 的數據肯定不是字符編碼的 那肯定是亂碼了

UTFString 可以正確顯示就說明 UTF-8的字符是可以正常顯示 編碼是對的

用 16進制編輯器打開(UtralEdit)
你就可以看到 true 寫進去的值是 01 
a寫進去是 61 40



讀寫字符流你可以看看
FileReader  BufferedReader
FileWriter  BufferedWriter
將數轉換爲字符串 然後寫入  讀出來時讀字符串再轉換成數

用DataOutputStream 輸出的數據並不是爲了用記事本打開看的而是爲了儲存數據的 一般來保存爲
.dat文件區別開文本本件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章