关于字节流操作文本数据的问题

爪蛙爱踢程序猿 2014-10-12 09:29:19
在字节流操作文本数据时,会出现编码问题吗,还可能出现什么问题?
...全文
137 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
日知己所无 2014-10-13
  • 打赏
  • 举报
回复
文本数据过大的时候可能得考虑执行速度等性能问题,以及处理这些数据时需要使用的内存、buffer等问题
skyWalker_ONLY 2014-10-13
  • 打赏
  • 举报
回复
2楼好样的,赞一个
rumlee 2014-10-13
  • 打赏
  • 举报
回复
要看怎么操作,如果是复制一份文本文件的话,那用字节流完全没有问题。如果是读取里面的文本,那当然就存在字符集的问题了。
北神 2014-10-12
  • 打赏
  • 举报
回复
首先要知道在磁盘上文本数据是以字节的方式存放的(‘0’ 和 ‘1’ 的序列)。字节流是以字节为单位将数据从磁盘上读入内存的,因此数据在内存中依然是字节的方式存在(‘0’ 和 ‘1’ 的序列或者byte序列),所以在这个过程中不存在乱码问题。而如果要操作文本数据,必须把字节流的数据转换为字符流数据,如果有乱码问题出现就在字节转为字符的时候。 下面我分析一下为什么会出现乱码问题。 我们知道磁盘上的文本数据(字节流)一定符合某种编码格式(例如GB2312),通过字节流读入内存后数据没有改变依然是这种格式(GB2312)。在将字节流转化为字符流的时候如果没有按照文本数据在磁盘上本身的格式(GB2312)解码,就会出现乱码问题。你把乱码产生的原因搞清楚了,在遇到乱码问题就不用怕了。 解决办法: 使用转换流,如InputStreamReader(将字节数据转为字符数据),第二个参数可以指定转换所使用的编码格式。 OutputStreamWriter用法类似。 纯手写,谢谢!

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧