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

© 范玉 中级黑马   /  2015-7-30 22:16  /  167 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


字节流:
        1:基本字节输出流的操作
                A:创建字节输出流对象
                        FileOutputStream fos = new FileOutputStream("a.txt");
                B:调用写数据的方法
                        fos.write(97);
                C:释放资源
                        fos.close();

                注意:写数据的方法有
                        write(byte b)
                        write(byte[] bys);
                        write(byte[] bys, int start,int lenth);
                      追加写入用两个参数构造
                        FileOutputStream fos = new FileOutputStream("a.txt",true);

        2:基本字节输入流的操作
                FileInputStream fis = new FileInputStream("b.txt");
               
                //方式1
                int by = 0;
                while ((by = fis.read()) != -1) {
                        System.out.println(by);
                }
               
                //方式2
                byte[] bys = new byte[1024];
                int len = 0;
                while ((len = fis.read(bys)) != -1) {
                        System.out.print(new String(bys, 0, len));
                }
                //释放资源
                fis.close();

               
                注意:
                        1):read():读一个,光标就在下一行等着读下一个,读完后光标就放到了最后,再读就没了
                                和集合里面迭代器的next() 有点相似

                        2):当用字节流读汉字并打印到控制台上,有时候会出现 "??" 问题,是因为汉字是由两个字节
                                组成的,每次读一个字节,所以就会出现"??"的现象,但是此问题用字节流复制文本文件时不会出现
您需要登录后才可以回帖 登录 | 加入黑马