使用高效缓冲流BufferedReader/BufferedWriter实现文件复制

来源:互联网 发布:分布式网络拓扑结构 编辑:程序博客网 时间:2024/05/19 03:25

好记性不如赖笔头……

package com.Ckinghan.ioDemo;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;/** * @author Ckinghan *  @描述:使用高效缓冲流复制文件,只能复制字符型的文件,如视频之类的文件无法复制 */public class BufferedFileDemo {    public static void main(String[] args) {        /**         * 使用高速缓冲流实现对文件的复制         */        bufferedCopyFile();    }    /**     * @描述:使用高速缓冲流实现对文件的复制     * @创建时间:     */    public static void bufferedCopyFile(){        //创建fileReader/bufferedReader对象        FileReader fileReader = null;        BufferedReader bufferedReader = null;        ////创建fileWriter/bufferedWriter对象        FileWriter fileWriter = null;        BufferedWriter bufferedWriter = null;        try {            //实例化fileReader/bufferedReader对象            fileReader = new FileReader("src/com/Ckinghan/CollectionDemo/ParamsComparator.java");            bufferedReader = new BufferedReader(fileReader);            //实例化fileWriter/bufferedWriter对象            fileWriter = new FileWriter("BufferedFileCopy.java");            bufferedWriter = new BufferedWriter(fileWriter);            //定义接收读取 的数据存储对象            String string =null;            //每次读取一行,如果读取的数据不为Null,            while ((string = bufferedReader.readLine()) != null) {                //在文件中写入一行接收到的数据                bufferedWriter.write(string);                //换行,因为读取的是一行,写入的也是一行,但并没有自动换行,换行须要手动                bufferedWriter.newLine();            }            //清空缓冲区,将数据保存在文件中            bufferedWriter.flush();            //文件COPY成功,输出提示语            System.out.println("使用bufferedReader/bufferedWriter复制文件成功");        } catch (FileNotFoundException e) {            //找不到文件异常输出            e.printStackTrace();        }catch (IOException e) {            //IO操作异常输出            e.printStackTrace();        }finally {            try {                //如果bufferedWriter被实例化,关闭bufferedWriter对象,会自动关闭fileWriter对象                if(bufferedWriter != null)                    bufferedWriter.close();                //如果bufferedReader被实例化,关闭bufferedReader对象,会自动关闭fileReader对象                if(bufferedReader != null)                    bufferedReader.close();            } catch (IOException e2) {                e2.printStackTrace();            }        }    }}
0 0
原创粉丝点击