黑马程序员技术交流社区

标题: 文件输入流问题 [打印本页]

作者: 宗士为    时间: 2012-5-12 08:44
标题: 文件输入流问题
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();
        }
}


作者: 李啸    时间: 2012-5-12 08:48
  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 08:51
本帖最后由 小小企鹅 于 2012-10-27 22:35 编辑

arr为byte数组 ,String(byte[] bytes) 构造一个新String,内容为arr的





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2