Java—File类

1.File概述

(1) java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关

(2)File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。

(3) 想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。

(4) File对象可以作为参数传递给流的构造器,指明读取或写入的"终点"。

 2.File类的使用

2.1绝对路径和相对路径

(2)相对路径:是相对于某个位置开始

        ./当前工作目录

        ../上一级路径的目录

        ../../上两级目录

(1)绝对路径:磁盘的跟路径一级一级的往下找

        C:\ccc\ddd\1.txt

2.2File类的构造方法

构造方法 功能
File(String  pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的File实例
File(String parent, String child) 从父路径字符串和子路径名字符串创建新的File实例

代码实现:File(String  pathname)

public class Demo6 {
    public static void main(String[] args) throws IOException {
        File file = new File("D:/Test/1.txt");
        //通过throws声明异常
        System.out.println(file.createNewFile());//true
    }
}

代码实现:File(String parent, String child)

    public static void main(String[] args) throws IOException {
        File file = new File("D:","Test/2.txt");
        //通过throws声明异常
        System.out.println(file.createNewFile());
    }

2.3File类下面的常用方法

boolean  createNewFile() 创建一个文件,返回值是布尔类型的数据
boolean  mkdir() 创建单级路径
boolean  mkdirs() 创建多级路径
boolean  delete() 立即删除文件
boolean  deleteOnExit() 不会立即删除,程序退出以后才删除
File对象的判断方法
boolean  isFile() 是否是文件
boolean  isDectory() 是否是文件夹
boolean  isHidden() 是否是隐藏文件
boolean  isAbsolute() 是否是绝对路径
boolean  exists() 判断文件夹是否存在
返回值是String类型的数据的
String  getName() 获取文件或者文件夹的名字
String  getPath() 获取当前对象的路径
String  getParent() 获取当前文件对象的上一级的目录
返回是long类型数据的
long  length() 返回值是文件占用的字节数
long  lastModified() 获取当前文件最后一次修改的时间(毫秒,除以1000才是秒)
File[]  listFiles() 获取当前文件夹下面的所有的文件
String[] list() 获取当前文件夹下面的所有文件的名字

代码展示:

public class Demo7 {
    public static void main(String[] args) {
        File file = new File("D:/Test/aaa");
        //创建多级或单级文件夹
        System.out.println(file.mkdirs());
        //删除文件夹
        System.out.println(file.delete());
        File file1 = new File("D:/Test/AAA");
        System.out.println(file1.mkdirs());
        new Scanner(System.in);
        //程序退出立即删除文件夹
        file1.deleteOnExit();
        File file2 = new File("D:/Test/bbb");
        System.out.println(file2.mkdirs());
        //判断bbb是文件
        System.out.println(file2.isFile());
        //判断bbb是文件夹
        System.out.println(file2.isDirectory());
        //判断bbb是否是隐藏文件
        System.out.println(file2.isHidden());
        //判断bbb是绝对路径
        System.out.println(file2.isAbsolute());
        //判断bbb是否存在
        System.out.println(file2.exists());
        File file3 = new File("D:/Test/");
        //获取Test下文件或者文件夹名字
        System.out.println(file3.getName());
        //获取当前对象的路径
        System.out.println(file3.getPath());
        //获取当前文件对象的上一级的目录
        System.out.println(file3.getParentFile());
        File file4 = new File("D:/Test");
        //返回文件占用的字节数
        System.out.println(file4.length());
        //返回文件最后一次修改的时间
        System.out.println(file4.lastModified());
        //获取当前文件下面所有的文件
        File[] files = file4.listFiles();
        for (File file5 : files) {
            System.out.println(file5);
        }
        //获取当前文件夹下面的所有文件的名字
        String[] list = file4.list();
        for (String s : list) {
            System.out.println(s);
        }
    }
}

你可能感兴趣的:(java,jvm,servlet)