黑马程序员技术交流社区

标题: 字节流: [打印本页]

作者: 范玉    时间: 2015-7-30 22:16
标题: 字节流:

字节流:
        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):当用字节流读汉字并打印到控制台上,有时候会出现 "??" 问题,是因为汉字是由两个字节
                                组成的,每次读一个字节,所以就会出现"??"的现象,但是此问题用字节流复制文本文件时不会出现





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