1. 使用File类相关的方法 ,编写删除文件夹的方法 要求:既能删除空文件夹 也能删除非空文件夹
package java0110.Work; import java.io.File; public class Code1 { public static void main(String[] args) { File file = new File("E:\\test"); deleteFile(file); System.out.println("OVER..."); } public static void deleteFile(File file) { if (file.exists()) { if (file.isFile()) { //是文件直接删除 file.delete(); } else { //文件夾 获取其中所有内容 File[] files = file.listFiles(); if (files.length != 0) { //文件夹’非空 for (File f : files) { deleteFile(f); } file.delete(); // 上面的for 循环能删除所有文件| } else {//空文件夹删除 file.delete(); } } } else { System.out.println("文件不存在..."); } } }
2. 使用绝对路径,在D盘创建一个testIO文件夹,然后再testIO文件中创建一个1.txt文件中;
使用相对路径,在当前项目下创建一个testIO文件夹,然后再testIO文件中创建一个2.txt文件中
package java0110.Work; import java.io.File; import java.io.IOException; public class Code2 { public static void main(String[] args) throws IOException { File file = new File("D:\\testI0"); file. mkdir(); File file1 = new File(file, "1.txt"); file1. createNewFile(); File file2 = new File( "testI0"); file2. mkdir(); File file3 = new File(file2 ,"2. txt"); file3. createNewFile(); } }
3. 文件夹的复制
结合 File类 和 字节输入输出流 相关的方法
package java0110.Work; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class work3 { public static void main(String[] args) { } public static void copyDir(File src,File target) throws Exception { //获收src中所有的内容 if (src.isFile()) { //是文件直接复刺 FileInputStream fis = new FileInputStream(src); FileOutputStream fos = new FileOutputStream(target); int readNum = -1; while ((readNum = fis.read()) != -1) { fos.write(readNum); } fis. close(); fos.close(); }else { //是文件夹则遍历 target.mkdir();//创建目标文件夹 File[] files = src.listFiles(); for (File f : files){ File targetFile = new File(target,f.getName()); copyDir(f,new File(target,f.getName())); } } } }