A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我试过通过seek()方法来每次移一个字节,然后将读到的字节用new String(byte[])来构造以实现倒序输出,但这个方法只对不含汉字的文本文件有效,对于有汉字的文本文件就会出现乱码,我也试换成每次移两个字节但还是不行,希望哪位大侠能指教!

该贴已经同步到 保持常态0616的微博

2 个回复

正序浏览
三个字节
回复 使用道具 举报
中文3字节,英语字母2字节,,byte[]  buffer 中 如果刚好末尾占了一个中文的一到两个字节,,余下的在下次循环时放进buffer中,,这时就有乱码了,,
感觉唯一的方法就是把  buffer的区间 设置的大一些,,取巧下,,byte[] buffer = new byte[raf.length];
倒序嘛,,,就用个StringBuilder或StringBuffer,,一样的,,它们有个 reverse();  就是反序了,,  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马