基本用法
- 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.进入文件夹src
File[] 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);
}
}
}
}
}