File类概述和API

File类:代表当前操作系统的文件对象。
File类:是用来操作操作系统的文件对象的,删除文件,获取文件信息,创建文件(文件夹)。
File类的创建对象的API:
     包:java.io.File
    (1)构造器:
        -- public File(String pathname)
        -- public File(String parent, String child)
        -- public File(File parent , String child)
File类创建文件对象的格式:
    File f = new File("绝对路径/相对路径");
        绝对路径:从磁盘的的盘符一路走到目的位置的路径。
            -- 绝对路径依赖具体的环境,一旦脱离环境,代码可能出错!!
        相对路径: 去找工程中的文件才可以使用相对路径。
            -- 没有盘符,默认就是直接去工程下寻找文件的
            -- 能用相对路径就尽量用

    File f = new File("文件路径/文件夹路径");
        广义来说操作系统认为文件包含:文件和文件夹。

    File类可以创建文件对象,代表该文件,然后就可以通过代码操作该文件。
public class FileDemo01 {
    public static void main(String[] args) {
        // 1.绝对路径创建文件对象
        //File f = new File("D:\\腾讯图片资源服务器\\meinv.jpg");
//        File f = new File("D:/腾讯图片资源服务器/meinv.jpg");
        File f = new File("D:"+File.separator+File.separator+"图片"+File.separator+"meinv.jpg");
        long size = f.length(); // 获取该文件的大小:返回的是字节大小。
        System.out.println(size);

        // 2.相对路径创建文件对象(默认是相对到工程目录直接寻找)
        File f1 = new File("datas/files.txt");
        f1.delete();

        // 3.创建一个文件夹的文件对象
        File f2 = new File("D:\\图片");
        System.out.println(f2.exists()); // 是否存在!
    }
}

File类的常用的API

- public String getAbsolutePath()  :返回此File的绝对路径名字符串。
 - public String getPath()  : 获取定义文件时使用的路径
 - public String getName()  : 返回由此File表示的文件或目录的名称。
 - public long length()  :    返回由此File表示的文件的长度。
  - public boolean exists() :此File表示的文件或目录是否实际存在。
 - public boolean isDirectory() :此File表示的是否为目录。
 - public boolean isFile() :此File表示的是否为文件
 - public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。 
 - public boolean delete() :删除由此File表示的文件或目录。  
 - public boolean mkdir() :创建由此File表示的目录。
 - public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。
public class FileDemo {
    public static void main(String[] args) {
        File f = new File("D:\\图片");
        // 1.获取绝对路径
        System.out.println(f.getAbsolutePath());
        // 2.获取文件对象的名称(包含后缀)
        System.out.println(f.getName());
        // 3.获取文件的大小
        System.out.println(f.length()); // 10
        // 4.获取最后的修改时间
        long time = f.lastModified();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(sdf.format(time));
        // 5.getPath():获取定义文件时使用的路径
        System.out.println(f.getPath());
        // 6.获取上一级父路径(上级路径)
        System.out.println(f.getParent());
        // 7.获取上一级文件对象(上级文件对象)
        File parentFile = f.getParentFile();
        System.out.println(parentFile);


        File f1 = new File("src\\xiaohuihui.txt");
        // 1.获取绝对路径
        System.out.println(f1.getAbsolutePath());
        // 2.获取文件对象的名称(包含后缀)
        System.out.println(f1.getName());
        // 3.获取文件的大小
        System.out.println(f1.length()); // 10
        // 4.获取最后的修改时间
        long time1 = f1.lastModified();
        System.out.println(sdf.format(time1));
        // 5.getPath():获取定义文件时使用的路径
        System.out.println(f1.getPath());

    }
}

File 目录的遍历

- public String[] list():获取当前目录下所有的一级文件名称到一个字符串数组中去返回。
 - public File[] listFiles():获取当前目录下所有的一级文件对象到一个文件对象数组中去返回(重点)
    这些API只能得到一级文件对象操作。
public class FileDemo {
    public static void main(String[] args) {
        // 定位一个目录
        File f = new File("src/com/woaini");
        // 1.获取当前目录下所有的一级文件名称到一个字符串数组中去。
        String[] names = f.list();