File
对目录及文件的创建、重命名、删除、文件列表、判断是否存在
构造函数
// 完整的目录或文件路径 public File(String pathname) //父级目录/文件路径+子级目录/路径 public File(String parent, String child) //父级目录/文件对象 + 子级目录/路径 public File(File parent, String child) // URI 对象 public File(URI uri)
// File 对象即可代表目录,亦可代表文件 File file=new File("H:\Java 45"); File file1=new File("H:\Java 45\JDBC\事务.ppt"); File file2=new File("H:\Java 45\01-JavaSE知识","day01(计算机基础知识&jdk安装&标识符)"); System.out.println(file2.exists()); File file3=new File("H:\Java 45\JDBC","代理.ppt"); System.out.println(file3.exists()); File file4=new File(new File("H:\Java 45\01-JavaSE知识"),"day01(计算机基础知识&jdk安装&标识符)"); System.out.println(file4.exists()); File file5=new File(new File("H:\Java 45\JDBC"),"代理.ppt"); System.out.println(file5.exists());
判断文件/目录是否存在
public boolean exists()
判断文件/目录
public boolean isDirectory() public boolean isFile()
创建文件/目录
// 创建一个目录 public boolean mkdir() // 创建所有目录 public boolean mkdirs() // 创建一个文件 public boolean createNewFile()
获取目录下所有文件/目录
public File[] listFiles()
重命名文件名
public boolean renameTo(File dest)
// 原文件
File file1=new File("H:\Intellij IDEA 教程_任小龙\常用快捷键.txt");
// 将原文件名更改为目标文件
file1.renameTo(new File("H:\Intellij IDEA 教程_任小龙\常用快捷键a.txt"));
删除文件/目录
public boolean delete()
FileFilter、FileNameFilter :文件/目录过滤
public class FileFilterTest { public static void main(String[] args) { File file=new File("H:\Intellij IDEA 教程_任小龙"); File[] files=file.listFiles(new ExtensionFilter()); for(int i=0;i<files.length;i++){ System.out.println(files[i].getAbsolutePath()); } } } // 仅获取为目录 或文件以 .txt 结束文件 class ExtensionFilter implements FileFilter{ @Override public boolean accept(File pathname) { if (pathname.isDirectory()) return true; if (pathname.isFile()){ if(pathname.getName().indexOf(".txt")>-1) return true; } return false; } }
public class FileNameFilterTest { public static void main(String[] args) { File file=new File("H:\Intellij IDEA 教程_任小龙"); File[] files=file.listFiles(new ExtenstionNameFilter()); for(int i=0;i<files.length;i++){ System.out.println(files[i].getAbsolutePath()); } } } // 该方法难以直接判断目录或文件 class ExtenstionNameFilter implements FilenameFilter{ @Override // 父级目录 name public boolean accept(File dir, String name) { if (name.lastIndexOf(".txt")>-1) return true; return false; } }