关于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(); }
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(); } }