1、File概述
- File是文件和目录路径名的抽象表示
- 这个文件或者目录可以存在也可以不存在
- 如果想对文件进行操作,需要用具体操作把路径内容转换为具体存在的
File f = new File(path);
File f = new File(parentPath, childPath);
File f = new File(File fParent, String childPath);
用File需要给方法加上
throws IOException
2、创建文件和目录
// 如果这个File对象对应的文件不存在,就创建它返回true,反之返回false。
File f = new File("./test.txt");
boolean success = f.createNewFile();
// 创建目录
File f = new File("E:/dir");
boolean success = f.mkdir();
// 创建目录并补全需要的父目录
File f = new File("E:/grand/father/child");
boolean success = f.mkdirs();
3、判断与获取
f.isDirectory();//是否为目录
f.isFile();//是否为文件
f.exists();//判断存在性
f.getAbsolutePath();//获得绝对路径
f.getPath();//返回构造File对象时用的路径,用的是相对的就返回相对的,用的是绝对的就返回绝对的
f.getName();//返回文件名字
String[] filesName = f.list();//返回目录下的文件和目录名称字符串数组
File[] filesObj = f.listFiles();//返回目录下的文件和目录File对象数组
4、删除
f.delete();//删除文件或目录,不过只能删空目录
想删除整个目录包括下面的文件就需要递归删除
5、文件递归
递归删除整个文件夹(自己随手写的)
static void deleteAll(File f){
if(f.isFile()){
f.delete();
return;
}
File[] filesObj = f.listFiles();
if(filesObj.length==0){
f.delete();
return;
}
for(File file: filesObj){
deleteAll(file);
}
f.delete();
return;
}