File的使用
基本用法
- public File(String pathname) 根据文件路径创建文件对象
- public File(String parent,String child) 根据父路径名字符串和子路径名字符串创建文件对象
- public File(File parent,String child) 根据父路径对应文件对象和子路径名字符串创建文件对象
-
1.createNewFile创建一个新的空的文件
-
细节1:如果当前路径表示的文件是不存在的,则创建成功,方法返回true
如果当前路径表示的文件是存在的,则创建失败,方法返回false
-
细节2:如果父级路径是不存在的,那么方法会有异常IOException
-
细节3:createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件
-
public boolean delete() 删除文件、空文件夹
-
细节:
- 如果删除的是文件,则直接删除,不走回收站。
- 如果删除的是空文件夹,则直接删除,不走回收站
- 如果删除的是有内容的文件夹,则删除失败
练习
import java.io.File;public class test1 {public static void main(String[] args) {//创建多级文件夹File f = new File("E:\\aaa\\bbb\\ccc\\ddd");boolean b = f.mkdirs();System.out.println(b);}
}
import java.io.File;
import java.io.IOException;public class test2 {public static void main(String[] args) throws IOException {//需求:在当前模块下的aaa文件夹中创建一个a.txt文件//1.创建a.txt的父级路径File file = new File("src\\aaa");//2.创建父级路径file.mkdir();//3.拼接父级路径和子级路径File src = new File(file, "a.txt");boolean b = src.createNewFile();if (b) {System.out.printf("创建成功");}else{System.out.println("创建失败");}}
}
import java.io.File;public class test3 {//获取所有文件夹里的avi文件public static void main(String[] args) {findAVI();}public static void findAVI(){File[] arr = File.listRoots();for(File f : arr){findAVI(f);}}public static void findAVI(File src) {//1.进入文件夹srcFile[] files = src.listFiles();//2.遍历数组,依次得到src里面每一个文件或者文件夹if (files != null) {for (File file : files) {if (file.isFile()) {//判断,如果是文件,就可以执行题目的业务逻辑String name = file.getName();if (name.endsWith(".avi")) {System.out.println(file);}}else{//判断,如果是文件夹,就可以递归//细节:再次调用本方法时候,参数一定是src的次一级路径findAVI(file);}}}}
}