专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

File类

File类

概述

  • File类的一个对象,代表一个文件或者一个文件目录(文件夹)
  • File类声明在java.io包下

File类的实例

三个构造器(此时只是内存层面的一个对象)

  • public File(String pathname)

    以pathname为路径创建File对象,可以是绝对路径或相对路径

    • 绝对路径:是一个固定的路径,从盘符开始
    • 相对路径:是相较于某个路径下指明的路径(可以用常量File.separator来表示分隔符,因为每个系统的分隔符不相同)

    70_1.png

  • public File(String parent, String child)

    • parent:上一层目录
    • child:在parent目录下指定的目录

    70_2.png

  • public File(File parent, String child)

    70_3.png

此时调用toString()方法时,只是把文件的路径做一个输出

File类常用方法

此时的方法调用还是内存层面的方法调用

File类的获取功能

1、 getAbsolutePath()

获取绝对路径

2、 getPath()

获取路径

3、 getName()

获取名称

4、 getParent()

获取上层文件目录路径,若无,返回null

5、 length()

获取文件长度

6、 lastModified()

获取最后一次的修改时间,毫秒值

7和8两个方法适用于文件目录

1、 list()(返回值String[])

获取指定目录下的所有文件或者文件目录的名称数组

2、 listFiles()(返回值File[])

获取指定目录下所有文件或者文件目录的File数组

代码实现

1-6方法

File file1 = new File("hello.txt");
File file2 = new File("E:\\workspace_idea\\JavaAdvanced\\IO\\hi.txt");

System.out.println(file1.getAbsolutePath());//E:\workspace_idea\JavaAdvanced\IO\hello.txt
System.out.println(file2.getAbsolutePath());//E:\workspace_idea\JavaAdvanced\IO\hi.txt

System.out.println(file1.getPath());//hello.txt
System.out.println(file2.getPath());//E:\workspace_idea\JavaAdvanced\IO\hi.txt

System.out.println(file1.getName());//hello.txt
System.out.println(file2.getName());//hi.txt

System.out.println(file1.getParent());//null
System.out.println(file2.getParent());//E:\workspace_idea\JavaAdvanced\IO

System.out.println(file1.length());//0
System.out.println(file2.length());//0

System.out.println(file1.lastModified());//0
System.out.println(file2.lastModified());//0

此时两个文件都不存在的运行结果

70_4.png


此时创建了这两个文件,文件里面的内容和其文件名相同

70_5.png


7-8方法

File file3 = new File("E:\\workspace_idea\\JavaAdvanced\\IO");
String[] list = file3.list();
for (String i : list) {
    System.out.println(i);
}

File[] files = file3.listFiles();
for (File f : files){
    System.out.println(f);
}

70_6.png

File类的重命名

renameTo(File dest)

把文件重命名为指定的文件路径

若是想要返回为true,必须保证file1在硬盘中是存在的,且file2不可以存在

两者都存在,返回false

//此时file1存在,file2不存在
File file1 = new File("hello.txt");
File file2 = new File("E:\\workspace_idea\\JavaAdvanced\\IO\\hi.txt");

boolean renameTo = file1.renameTo(file2);
System.out.println(renameTo);//true

70_7.png

File类的判断功能

1、 isDirectory()

判断是否是文件目录

2、 isFile()

判断是否是文件

3、 exists()

判断是否存在

4、 canRead()

判断是否可读

5、 canWrite()

判断是否可写

6、 isHidden()

判断是否隐藏

代码实现

//此时file1不存在,file2存在
File file1 = new File("hello.txt");
File file2 = new File("E:\\workspace_idea\\JavaAdvanced\\IO\\hi.txt");

System.out.println("file1:");
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
System.out.println(file1.exists());
System.out.println(file1.canRead());
System.out.println(file1.canWrite());
System.out.println(file1.isHidden());

System.out.println();

System.out.println("file2:");
System.out.println(file2.isDirectory());
System.out.println(file2.isFile());
System.out.println(file2.exists());
System.out.println(file2.canRead());
System.out.println(file2.canWrite());
System.out.println(file2.isHidden());

70_8.png

File类的创建功能

1、 createNewFile()

创建文件,若文件存在,则不创建,返回false
    File file = new File("hello.txt");
    if(!file.exists()){
        file.createNewFile();
        System.out.println("创建成功");
    }else{
        System.out.println("该文件存在");
        file.delete();
        System.out.println("删除成功");
    }
    //创建成功

2、 mkdir()

创建文件目录,如果此文件目录存在,就不创建;如果此文件目录的上层目录不存在,也不创建
    //此时该目录不存在,上层目录存在
    File file1 = new File("E:\\workspace_idea\\JavaAdvanced\\IO\\Java1");
    boolean mkdir1 = file1.mkdir();
    if(mkdir1){
        System.out.println("创建成功");
    }else{
        System.out.println("创建失败");
    }

    //此时该目录不存在,上层目录也不存在
    File file2 = new File("E:\\workspace_idea\\JavaAdvanced\\IO1\\Java2");
    boolean mkdir2 = file2.mkdir();
    if(mkdir2){
        System.out.println("创建成功");
    }else{
        System.out.println("创建失败");
    }

[![70\_9.png][70_9.png]][70_9.png_70_9.png]

3、 mkdirs()

创建文件目录,如果上层目录不存在,一并创建

注:如果创建文件或文件目录没有写盘符路径,那么默认在项目路径下

File类的删除功能

delete()

删除文件或者文件夹(Java删除不走回收站)

//此时该文件存在
File file = new File("hello.txt");
if(!file.exists()){
    file.createNewFile();
    System.out.println("创建成功");
}else{
    System.out.println("该文件存在");
    file.delete();
    System.out.println("删除成功");
}

70_10.png

总结

  • File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。
  • File类的对象常会作为参数传递到流的构造器中,指明读取或写入的节点
未经允许不得转载:搜云库技术团队 » File类

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们