File

  • File对象是文件和目录路径名的抽象表示形式。
  • 不能通过File类完成文件的读和写。

File类常用方法

  • createNewFile():当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件
  • delete():删除此抽象路径名表示的文件或目录。
  • exists():测试此抽象路径名表示的文件或目录是否存在。
  • getAbsolutePath():返回此抽象路径名的绝对路径名字符串。
  • getParent():返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。
  • getPath():将此抽象路径名转换为一个路径名字符串。
  • getName():返回由此抽象路径名表示的文件或目录的名称。
  • isFile():测试此抽象路径名表示的文件是否是一个标准文件。
  • isDirectory():测试此抽象路径名表示的文件是否是一个目录。
  • lastModified():文件最后一次被修改的时间。
  • length():文件的长度。
  • mkdir():创建此抽象路径名指定的目录,后加s创建多重目录。
  • listFiles():返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
构造方法
  • File(String pathname):通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。
使用方法:
public class FileTest01 {
    public static void main(String[] args) {
        //创建一个File对象
        File f1 = new File("D:\\file");
        
        //判断“file”是否存在
        System.out.println(f1.exists());
        
        //如果file不存在,则以文件形式创建出来
        /*if (!f1.exists()) {
            //以文件形式创建
            f1.createNewFile();
        }*/
        
        //以目录的形式新建
        /*if (!f1.exists()) {
            f1.mkdir();
        }*/
        
        //创建多重目录
        File f2 = new File("D:/a/b/c");
        /*if (!f2.exists()) {
            f2.mkdirs();
        }*/
        
        //获取文件的父路径:getParent()以File对象的形式返回
        File f3 = new File("D:\\java\\测试.txt");
        String parentPath = f3.getParent();
        System.out.println(parentPath);  //D:\java
        
        //获取绝对路径:getAbsolutePath()
        File parentFile = f3.getParentFile();
        System.out.println("获取绝对路径:" + parentFile.getAbsolutePath());
        
        File f4 = new File("ceshi");
        System.out.println("绝对路径:" + f4.getAbsolutePath());
        
        File f5 = new File("D:\\file.ppt");
        //获取文件名
        System.out.println("文件名:" + f5.getName());
        
        //判断是否是一个目录
        System.out.println(f5.isDirectory()); //false
        
        //判断是否是一个文件
        System.out.println(f5.isFile()); //true
        
        //获取文件最后一次修改时间
        long haoMiao = f5.lastModified(); //返回的是毫秒,之歌毫秒是从1970到现在的总毫秒数
        //将总毫秒数转换成日期
        Date time = new Date(haoMiao);
        //日期格式化
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String strTime = sdf.format(time);
        System.out.println(strTime);
        
        //获取文件大小
        System.out.println(f5.length());
    }
}

listFiles()使用方法

public class FileTest02 {
    public static void main(String[] args) {
        //获取当前目录下所有的子文件
        File f = new File("D:\\java");
        File[] file = f.listFiles();
        //foreach
        for (File file : files) {
            System.out.println(file.getAbsolutePath());  //获取子文件的绝对路径
            System.out.println(file.getName());  //获取子文件的文件名
            
        }
    }
}