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

  • Post author:
  • Post category:其他




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









版权声明:本文为chenli195原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。