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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 黑马YJM 于 2016-7-29 14:57 编辑

//class.txt   文件中有一句话:   hello Java  我爱java
FileInputStream input = new FileInputStream("class.txt");               //读数据  方法1      结果:  hello Java  ??°?java
                int in = -1;
                while((in = input.read())!= -1){
                        System.out.print((char)in);
                }

        //读数据  方法2      结果:hello Java  我爱java
                byte[] b = new byte[1024];
                int bb = -1;
                while((bb=input.read(b))!=-1){
                        System.out.println(bb);
                        System.out.println(new String(b,0,bb));
                }


2 个回复

倒序浏览
GCT 来自手机 中级黑马 2016-7-29 16:21:06
沙发
gbk编码是两个字节表示一个中文,utf是三个字节表示一个中文,你read只能读取一个字节,也就是中文的一半,程序不知道这是什么,用?表示了。
回复 使用道具 举报 1 0
GCT 发表于 2016-7-29 16:21
gbk编码是两个字节表示一个中文,utf是三个字节表示一个中文,你read只能读取一个字节,也就是中文的一半, ...



谢谢  我明白了.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马