使用字符流复制文件

来源:互联网 发布:pps网络电视播放器apk 编辑:程序博客网 时间:2024/05/21 07:59

在实现使用字符流复制文件的简单功能前,首先说一下关于流(IO),1、根据流的方向可分为输入输出流,对应读写操作;在使用输入流时先要找到源(即就是要读取文件的位置,注意:在找源文件读取时可能发生异常,该文件可能不存在)。2、根据流的单位可把流分为字节流字符流。3、根据流的功能可把流分为节点流处理流

/** * <p>Title:CopyFile </p><p>Description: 采用字节流复制文件</p><p>Company: </p> * @author  * @date 2017-9-22 下午11:18:45 * */public class copyFile{    public static void main(String[] args) {    //复制自己写的Java代码        copyFile("src/com/ll/io/CopyFile.java","ll1.java");    }/** * * @Title:copyFile* @Description:文件复制* @param @param srcFile* @param @param destFile* @return void* @throws IOException */    public static void copy(String srcFile,String destFile){    //判断源文件或者目标文件是否存在(目标文件可不判断),若文件不存在会报FileNotFoundException        if(scrFile == null || destFile == null){            system.out.println("文件不存在!");               return;        }        //创建相应的管道流,输入输出流,用于读取和写文件操作        FileReader fr = null;        FileWriter fw = null;        try{             fr = new FileReader(srcFile);             fw = new FileWriter(destFile);        }catch(IOException e){          e.printStackTrace();        }        //读写操作        //创建一个字符缓冲区        char [] c = new char[1024];        //记录文件所读的位置,读有多少字符        int len = 0;        try{            while((len = fr.read(c))!= -1){            //读的同时进行写            fw.write(c,0,len);            }        }catch (IOException e) {            e.printStackTrace();        }        //关闭相应资源,一般从后往前关,但在关之前先要做个判断,不然可能会发生空指针异常        if(fw != null){        try {                fw.close();            } catch (IOException e) {                e.printStackTrace();            }        }        if(fr != null){            try {                fr.close();            } catch (IOException e) {                e.printStackTrace();        }      }    }}//Java7开始,可以使用创建对象的类实现java.lang.AutoCloseable接口,这样就可以不必手动去关闭资源,该类会自动关闭相关资源。 本文如有不当或可改进之处请各位积极指出,谢谢!![这是使用字符流实现的文件复制部分图,因为本文不是复制myeclipse中的代码,纯手写,注释多些,所以看到的图与本文的注释不一样](http://img.blog.csdn.net/20170923162830381?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaW5zaXN0bGw=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
原创粉丝点击