File类
可以用来表示磁盘上的某个文件或者某个文件夹
public File(String pathname);以指定的路径创建File对象 public File(String parent,String child);以指定父路径和子路径创建File对象 public File(File parent,String child);以指定父File对象和子路径创建File对象 public class FileDemo01 { public static void main(String[] args) { //File类的构造方法 //1.直接指定路径 File f1 = new File("C:\\Users\\Administrator\\Desktop\\temp\\aaa\\1.txt"); System.out.println(f1); File f2 = new File("C:\\Users\\Administrator\\Desktop\\temp\\aaa\\111"); System.out.println(f2); //2.以指定父路径和子路径创建File对象 File f3 = new File("C:\\Users\\Administrator\\Desktop","temp\\aaa\\1.txt"); System.out.println(f3); //3.以指定父File对象和子路径创建File对象 File parent = new File("C:\\Users\\Administrator\\Desktop"); File f4 = new File(parent,"temp\\aaa\\1.txt"); System.out.println(f4); } }
public String getAbsolutePath(); 获取文件的绝对路径 public String getPath(); 获取构造时传入的路径 public String getName(); 获取名字(不带路径) public int length();获取大小(单位字节)
public boolean isFile(); 判断是否为文件 public boolean isDirectory();判断是否为文件夹 public boolean exists();判断是否存在
public boolean createNewFile();创建文件 public boolean mkdir();创建一级文件夹 public boolean mkdirs();创建多级文件夹 public boolean delete();删除文件或者"空"文件夹
注意:
a.只有存在的情况下才能删除成功,只有不存在的情况下才能创建成功
b.删除时如果是非空的文件夹,也会删除失败
c.创建时如果多级文件夹,必须使用mkdirs,使用mkdir也会创建失败
public String[] list();列出当前目前下所有文件或者文件夹的名字 public File[] listFiles(); 列出当前目前下所有文件或者文件夹的File对象
需求: 在一个指定的目录中查找指定后缀的文件 指定的目录: C:\Users\Administrator\Desktop\temp\aaa 指定的文件: xx.txt文件 public class RecursionDemo04 { public static void main(String[] args) { //需求: //在一个指定的目录中查找指定后缀的文件 //指定的目录: C:\Users\Administrator\Desktop\temp\aaa //指定的文件: xx.txt文件 File fileDir = new File("C:\\Users\\Administrator\\Desktop\\temp\\aaa"); printTxtFile(fileDir); } //打印指定目录下的所有.txt文件 public static void printTxtFile(File ff){ //1.调用遍历目录的方法 File[] files = ff.listFiles(); //2.循环 for (File file : files) { //3.判断 if (file.isFile() && file.getName().endsWith(".txt")) { System.out.println(file); } else if (file.isDirectory()){ //4.遍历这个文件夹,打印其中的.txt文件 printTxtFile(file);//递归 } } } }