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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘圣繁 中级黑马   /  2013-2-1 15:22  /  1235 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张向辉 于 2013-2-3 11:48 编辑

InputStream is = new FileInputStream("exercise.txt");
                byte[] b = new byte[5];
                int len = 0;
                while ((len = is.read(b)) != -1)
                {
                        String s = new String(b);
                     System.out.print(s);
                }
                is.close();
如上述代码 String s=new String(b)    五个字节怎么能转换成字符呢   有的字符需要两个字节 如果在截取五个字节的时候 把原本一个字符的字节截断了  怎么办

1 个回复

正序浏览
本帖最后由 张向辉 于 2013-2-1 20:46 编辑

读字符流的时候涉及到编码表。所以要读字符文件并显示出来时,应注意读取方法,避免出现乱码。比如GBK中汉字是用2个字节表示,只读一个字节就显示的话就是乱码了,必须是读两个字节才能显示出一个汉字。应避免将其截断。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马