DataInputStream和DataOutputStream用法细节探讨
来源:互联网 发布:酷屏软件 编辑:程序博客网 时间:2024/05/22 17:08
http://blog.csdn.net/fishwjy/article/details/38092985
DataInputStream和DataOutputStream都是Java中输入输出流的装饰类,用起来很方便。今天就来讨论一下使用该类时候遇到的编码问题。
使用16进制方式打开文件如下:
可以看出,第一个“世界”已经被截断,两个汉字都只被写入了低位,因此肯定乱码。
文件打开如下:
可以看出,读取前6字节并按照UTF-8解码就可以避免乱码。值得注意的是,String构造函数也可以指定对byte数组作其他编码方式的解码。例如:new String(b,0,6,"GBK")。同时使用writeUTF和readUTF可以免去程序猿对于长度的考虑,因为这两个函数为我们解决了长度问题,写入了文件,因此我们无需关心。但这样就使用了额外的空间去记录长度信息。
0 0
- DataInputStream和DataOutputStream用法细节探讨
- DataInputStream和DataOutputStream用法细节探讨
- DataInputStream和DataOutputStream用法细节探讨
- DataInputStream与DataOutputStream用法
- DataInputStream和DataOutputStream类
- DataInputStream和DataOutputStream
- DataInputStream和DataOutputStream
- DataInputStream和DataOutputStream类
- DataInputStream和DataOutputStream类
- DataInputStream和DataOutputStream
- DataOutputStream和DataInputStream
- DataInputStream和DataOutputStream
- 记录:DataInputStream和DataOutputStream
- Java DataInputStream 和 DataOutputStream
- DataInputStream与DataOutputStream的用法
- ByteArrayOutputStream、ByteArrayInputStream、DataOutputStream、DataInputStream用法
- DataInputStream和DataOutputStream源码理解
- java之DataInputStream和DataOutputStream
- 爱可可老师今日视野(15.07.20)
- 关于tarjan算法的一些理解(割点割边)
- PHP 文件系统
- 7.19学习笔记
- System.currentTimeMillis();
- DataInputStream和DataOutputStream用法细节探讨
- 【LeetCode-面试算法经典-Java实现】【012-Integer to Roman(数字转罗马字符)】
- 【LeetCode-面试算法经典-Java实现】【013-Roman to Integer (罗马数字转成整数)】
- advstringgrid 使用
- AdvStringGrid使用小结
- 【LeetCode-面试算法经典-Java实现】【014-Longest Common Prefix(最长公共前缀)】
- Python开发环境配置
- 潘多拉病毒
- CSS布局--使用margin-left负值布局