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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宗士为 中级黑马   /  2012-5-12 08:44  /  1449 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class ReadChineseFile {

        public static void main(String[] args) throws IOException {
                FileInputStream fis = new FileInputStream("笔记.txt");          //("笔记.txt")    为文本笔记       
                int b;
                while ((b = fis.read()) != -1) {
                        byte b1 = (byte) b;                                               
                        if (b1 < 0) {                                                       
                                byte b2 = (byte) fis.read();               
                                byte[] arr = {b1, b2};                               
                                System.out.print(new String(arr));        //为什么要用new string()
                        } else {                                                               
                                System.out.print((char)b1);                       
                        }
                }
                fis.close();
        }
}

2 个回复

倒序浏览
  FileInputStream fis = new FileInputStream("笔记.txt");          //("笔记.txt")    为文本笔记        
                int b;
                 while ((b = fis.read()) != -1) {
                         byte b1 = (byte) b;                                                
                        if (b1 < 0) {                                                        
                                byte b2 = (byte) fis.read();               
                                byte[] arr = {b1, b2};                                
                                System.out.print(new String(arr));        //因为一个汉字两个字节而上面的byte数组里面存放的就是两个汉字的字节然后打包给一个String类 String类默认的是GBK码表可以将两个字节解读为汉字
                         } else {                                                               
                                System.out.print((char)b1);                        
                        }
                 }
                 fis.close();
         }

点评

大爱  发表于 2012-5-12 11:00
回复 使用道具 举报
本帖最后由 小小企鹅 于 2012-10-27 22:35 编辑

arr为byte数组 ,String(byte[] bytes) 构造一个新String,内容为arr的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马