方法 | 说明 |
---|---|
public boolean createNewFile() | 当具有该名称的文件不存在时,创建一个由该抽象路径命名的新空文件 |
public boolean mkdir() | 创建由此抽象路径命名的目录 |
public boolean mkdirs() | 创建由此抽象路径命名的目录,包括任何必须但不存在的父目录 |
eg:
public static void main(String[] args) throws IOException {//当具有该名称的文件不存在时,创建一个由该抽象路径命名的新空文件(创建文件)//如果父目录不存在,则会创建不成功File file1 = new File("C:\\Users\\Administrator\\Desktop\\test\\test01\\test01.java");System.out.println(file1.createNewFile());//创建由此抽象路径命名的目录(创建文件夹)//如果父目录不存在,则会创建不成功File file2 = new File("C:\\Users\\Administrator\\Desktop\\test\\test02");System.out.println(file2.mkdir());//创建由此抽象路径命名的目录,包括任何必须但不存在的父目录(创建目录,没有指定的父目录也会一起创建)File file3 = new File("C:\\Users\\Administrator\\Desktop\\test\\test03\\qize");System.out.println(file3.mkdirs());
}
方法 | 说明 |
---|---|
boolean isDirectory() | 判断是否是文件夹 |
boolean isFile() | 判断是否是文件 |
boolean exists() | 判断文件是否存在 |
eg:
public static void main(String[] args) {File file = new File("C:\\Users\\Administrator\\Desktop\\test\\test01\\test01.java");if(file.isDirectory()){System.out.println("是文件夹");}else{System.out.println("不是文件夹");}if(file.isFile()){System.out.println("是文件");}else{System.out.println("不是文件");}if(file.exists()){System.out.println("文件是存在的");}else{System.out.println("文件不存在");}
}
方法 | 说明 |
---|---|
String getAbsolutePath() | 获取绝对路径 |
String getPath() | 获取抽象路径名转化路径名字符串 |
String getName() | 获取文件或文件夹的名称 |
String[] list() | 获取目录下所有内容,返回字符串数组 |
File[] getlistFiles() | 获取目录下的所有内容,返回File对象数组 |
eg:
public static void main(String[] args) {File file = new File("C:\\Users\\Administrator\\Desktop\\test\\test01\\test01.java");//获取绝对路径System.out.println(file.getAbsolutePath());//获取相对路径System.out.println(file.getPath());//获取文件或文件夹的名称System.out.println(file.getName());File file2 = new File("C:\\Users\\Administrator\\Desktop\\test\\test01");//获取目录下所有内容,返回字符串数组String[] list = file2.list();for(String s:list){System.out.println(s);}//获取目录下的所有内容,返回File对象数组File[] files = file2.listFiles();for(File f:files){System.out.println(f);}
}
public static void main(String[] args) throws IOException {File file = new File("Test05.java");System.out.println(file.createNewFile());System.out.println(file.getAbsolutePath());System.out.println(file.getPath());
}
方法 | 说明 |
---|---|
boolean delete() | 如果删除路径是一个文件则可以直接删除。如果删除路径是一个目录,不能够直接删除目录。需要先删除该目录下的所有内容,最后才能删除目录。 |
eg:
public static void main(String[] args) {File file1 = new File("C:\\Users\\Administrator\\Desktop\\test\\test01");//文件夹无法直接删除,因为该文件夹里还有文件,需要先删除该目录下的全部内容,然后才能删除该目录System.out.println(file1.delete());File file2 = new File("C:\\Users\\Administrator\\Desktop\\test\\test01\\test03.java");//文件test03.java可以直接删除System.out.println(file2.delete());
}
采用递归算法遍历目录
eg:
public class Test06 {public static void main(String[] args) {File file = new File("C:\\Users\\Administrator\\Desktop\\test");getAllFile(file);}/*** 使用递归算法遍历目录* @param file* @return*/public static void getAllFile(File file){//1、根据listFiles()方法获取到目录下的file集合File[] files = file.listFiles();//2、files数组如果为null,则结束if(files == null){return;}//3、遍历该目录中所有内容for(File f:files){System.out.println(f.getAbsolutePath());//4、如果为目录,则采用递归算法调用本身if(f.isDirectory()){getAllFile(f);}}}
}
采用递归算法删除目录
eg:
public class Test07 {public static void main(String[] args) {File file = new File("C:\\Users\\Administrator\\Desktop\\test\\test03\\qize");deleteFile(file);}/*** 使用递归算法遍历目录* @param file* @return*/public static void deleteFile(File file){//1、根据listFiles()方法获取到目录下的file集合File[] files = file.listFiles();//2、files数组如果为null,则结束if(files == null){return;}//3、遍历该目录中所有内容for(File f:files){//4、如果为目录,则采用递归算法调用本身if(f.isDirectory()){deleteFile(f);}else {System.out.println(f.getAbsolutePath());//是文件则直接删除f.delete();}}//遍历结束后则代表文件已经全部删除了,这时可以直接删除文件夹了file.delete();}
}