删除功能
public Boolean delete()删除抽象路径表示形式的文件或者文件夹
如果不带盘符:默认在当前项目下创建文件/文件夹或者删除文件/文件夹
注意事项:
delete()方法删除文件夹,文件夹必须是空目录(一次删除一个文件夹)
public boolean renameTo()对当前文件所表示的抽象路径重命名
注意:
如果重命名前和重命名后的两个抽象路径形式表示一样,只是重命名
如果重命名前后两个抽象路径的形式不一样,不仅仅是重命名,还将文件进行剪切
File类的判断功能:
public boolean isDirctodry()判断是否存在文件夹
public boolean isFile()判断是否是文件
public boolean exists()判断当前表示的文件或者文件夹是否存在
public boolean canWrite()判断是否可写
public Boolean isHidden()判断文件以及文件夹是否隐藏
File类
基本获取功能
public String getAbsolutePath():获取当前File所表示的绝对路径
public String getPath() :获取当前File相对路劲
public String getName() :获取当前File所表示的文件或者文件夹的名称
public long length() :获取文件长度(存储内容)
public long lastModified() :获取最后一次修改File的时间毫秒值
高级获取功能
public String[] list():
获取当前某个File所表示目录下面的所有的文件以及文件夹的字符串数组
public File[] listFiles()
获取当前某个File所表示目录下面的所有的文件以及文件夹的File组
FilenameFile:文件名称过滤器 (接口)
public boolean accept(File dir,String name):判断当前是否将该name文件名称添加到文件列表中,
返回是true,将该文件名称添加文件列表中,否则不添加!
File类的功能:
public String[] list(FilenameFilter filter)
public File[] listFiles(FilenameFilter filter)
形式参数是一个接口类型,需要改接口的子实现类对象/接口的匿名内部类!
需求:
删除带内容的目录
public class TestDemo {
public static void main(String[] args) {
File srcFolder = new File("demo");
delete(srcFolder);
}
private static void delete(File srcFolder) {
File[] fileArray = srcFolder.listFiles();
if(fileArray!=null) {
for (File f : fileArray) {
if(f.isDirectory()) {
delete(f);
}else {
System.out.println(f.getName()+"---"+f.delete());
}
}
System.out.println(srcFolder.getName()+"---"+srcFolder.delete());
}
}
}
需求:
判断d盘下是否有带demo的文件,有就输出
import java.io.File;
import java.io.FilenameFilter;
public class FileDemo3 {
public static void main(String[] args) {
File file = new File("d:\\");
File[] listArray = file.listFiles(new FilenameFilter(){
@Override
public boolean accept(File dir, String name) {
File file = new File(dir,name);
/*boolean flag1 = file.isFile();
boolean flag = file.getName().endsWith(".jpg");
return flag1 && flag;*/
return (file.isFile() && file.getName().endsWith(".jpg")) ;
}
});
for (File f : listArray) {
if(f!=null) {
System.out.println(f);
}
}
}