DataOutputStream的相关方法以及如何读出需要的内容

来源:互联网 发布:amf数据分析器 v22 编辑:程序博客网 时间:2024/06/11 09:25

 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文件区别开文本本件

阅读全文
0 0