黑马程序员技术交流社区

标题: IO常用流总结 ,欢迎补充 [打印本页]

作者: 平爷    时间: 2015-9-1 21:48
标题: IO常用流总结 ,欢迎补充



1:IO流
        (1)分类
                字节流:
                        输入流:
                                InputStream(抽象类)
                                        int read()
                                        int read(byte[] bys)

                                FileInputStream(常用基本流)

                                BufferedInputStream
                        输出流:
                                OutputStream(抽象类)
                                        write(int by)
                                        write(byte[] bys,int index,int len)

                                FileOutputStream(常用基本流)

                                BufferedOutputStream

                字符流:
                        输入流:
                                Reader(抽象类)
                                        int read()
                                        int read(char[] chs)


                                FileReader(常用基本流)


                                BufferedReader
                                        String readLine()
                        输出流:
                                Writer(抽象类)
                                        write(int ch)
                                        write(char[] chs,int index,int len)

                                FileWriter(常用基本流)

                                BufferedWriter
                                        write(String line)
                                        void newLine()

         
        (3)复制文本文件(了解):
                9种方式:
                        字节流:
                                4种
                                        基本流一次读写一个字节
                                        基本流一次读写一个字节数组
                                        高效流一次读写一个字节
                                        高效流一次读写一个字节数组
                        字符流:
                                5种
                                        基本流一次读写一个字符
                                        基本流一次读写一个字符数组
                                        高效流一次读写一个字符
                                        高效流一次读写一个字符数组
                                        高效流一次读写一个字符串

                一般来说,明明知道是文本文件,那么,肯定不用字节流。
                那么,如果是使用字符流,有5种方式,选择哪一种呢?
                一般都选择高效流读写一个字符串的方式。


                代码体现:
                        数据源:c:\\a.txt
                        目的地:d:\\b.txt

                        BufferedReader br = new BufferedReader(new FileReader("c:\\a.txt"));
                        BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\b.txt"));

                        String line = null;
                        while((line=br.readLine())!=null)
                        {
                                bw.write(line);
                                bw.newLine();
                                bw.flush();
                        }

                        bw.close();
                        br.close();

        (4)复制二进制流数据:(图片,视频,音频等)
                字节流:
                                4种
                                        基本流一次读写一个字节
                                        基本流一次读写一个字节数组
                                        高效流一次读写一个字节
                                        高效流一次读写一个字节数组

                一般来说,我们选择使用高效流一次读写一个字节数组

                代码体现:
                        数据源:c:\\a.jpg
                        目的地:d:\\b.jpg

                        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("c:\\a.jpg"));
                        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("d:\\b.jpg"));

                        byte[] bys = new byte[1024];
                        int len = 0;
                        while((len=bis.read(bys))!=-1)
                        {
                                bos.write(bys,0,len);
                        }

                        bos.close();
                        bis.close();






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