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 版权协议,转载请附上原文出处链接和本声明。