黑马程序员技术交流社区

标题: 复制文本文件 [打印本页]

作者: 钟志军zzj    时间: 2015-7-13 22:29
标题: 复制文本文件
复制文本文件(了解):
                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