关于IO学习的几个函数

这是最近学到的几个关于IO文件操作的几个小算法,今天总结出来。


1. 删除一个给定的目录,这上目录不为空目录,使用递归来实现

public void test04(File file) {
    File[] listFiles = file.listFiles();
    for (File f : listFiles) {    
        if (f.isFile()) {// 是文件
        f.delete();
        } else {// 是文件夹
        test04(f);
        f.delete();
        }
        }
        file.delete();
}
View Code

2. 写一个方法,可以复制一个目录,(此目录不为空)

public void testCopyFolder() throws IOException {
    File file = new File("e:/java");
    File copyFile = new File("e:/copyjava");
    copyFolder(file,copyFile);
}

public void copyFolder(File src, File dest) throws IOException {
    // 文件夹的处理
    if (src.isDirectory()) {
        if (!dest.exists()) {
            dest.mkdir();
        }

        String files[] = src.list();
        for (String file : files) {
            File srcFile = new File(src, file);
            File descFile = new File(dest, file);
            copyFolder(srcFile, descFile);// 递归调用
        }
    } else {// 文件的复制
        InputStream in = new FileInputStream(src);
        OutputStream out = new FileOutputStream(dest);

        byte[] bt = new byte[1024];
        int len = 0;
        while ((len = in.read(bt)) > 0) {
            out.write(bt, 0, len);
        }
        out.close();
        in.close();
    }
}
View Code

 

posted @ 2016-11-10 22:52  记忆沙漏  阅读(179)  评论(0编辑  收藏  举报