1。创建功能
public boolean createNewFile():创建一个新的文件 如果存在这样的文件,就不创建了
public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来
可以创建多层目录 当然也可以创建单层目录
如果创建文件或文件夹时没有写盘符路径,默认在项目路径下
相对路径:没有带盘符的路径
绝对路径:带有盘符的路径
2.删除功能
public boolean delete():删除文件或者文件夹
注意:删除文件夹时 这个文件夹是空文件夹 如果这个文件夹里面有文件,则不能删除
而且Java中的删除工作不走回收站,删除须谨慎
3.重命名功能
public boolean renameTo(File dest):把文件重命名为指定的文件路径
如果路径名相同,就是改名。
如果路径名不同,就是改名并剪切。
4.判断功能
public boolean isDirectory():判断是否是目录
public boolean isFile(): 判断是否是文件
public boolean exists(): 判断是否存在
public boolean canRead(): 判断是否可读
public boolean canWrite(): 判断是否可写
public boolean isHidden(): 判断是否隐藏
5.获取功能
public String getAbsolutePath(): 获取绝对路径
public String getPath(): 获取相对路径
public String getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null
public File getParentFile() 返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null
public long getTotalSpace() 返回此抽象路径名指定的分区大小。 返回总容量 单位字节
public long getFreeSpace() 返回此抽象路径名指定的分区中未分配的字节数。返回剩余容量 单位字节
public String getName(): 获取名称
public long length(): 获取长度。字节数
public long lastModified(): 获取最后一次的修改时间,毫秒值
public String[] list(): 获取指定目录下的所有文件或者文件夹的名称数组
获取指定目录下的所有文件或文件夹的名称数组或者File数组
package Demo;
import java.io.File;
public class MyTest {
public static void main(String[] args) {
// public String[] list(): 获取指定目录下的所有文件或者文件夹的名称数组
// public File[] listFiles(): 获取指定目录下的所有文件或者文件夹的File数组
File file = new File("E:\\test");
String[] list = file.list();
for(String name:list) {
System.out.println(name);
}
System.out.println("------------------------------------------");
File file2 = new File("E:\\aaa");
File[] listFiles = file2.listFiles();
for(File f:listFiles) {
System.out.println(f.getName());
if(f.isFile()) {
if(f.getName().endsWith(".txt")) {
f.delete();
}
}
}
}
}
删除多级目录
package Demo2;
import java.io.File;
public class MyTest {
public static void main(String[] args) {
// 删除多级目录
File file = new File("E:\\demo");
// boolean f = file.delete();
// 获取此目录下所有的文件或文件夹
delFile(file);
}
private static void delFile(File file) {
File[] listFiles = file.listFiles();
for (File f : listFiles) {
if (f.isDirectory()) {
delFile(f);// 递归调用 :方法内部调用方法本身
} else {
f.delete();
}
}
file.delete();
}
}