Java核心API——File类

发布于:2024-08-25 ⋅ 阅读:(139) ⋅ 点赞:(0)

今天我们来介绍一下Java中处理文件的一个关键类——File类

File类简介

File类的每一个实例用于表示文件系统中的一个文件或目录(本质是保存一个路径) 使用File我们可以:

1:访问文件或目录的属性(名字,大小等信息)

2:创建/删除 文件或目录

3:访问一个目录中的所有子项

但是不能访问文件数据

 访问文件

 值得注意的是在这里我们需要访问的文件用到的是相对路径,那么我也顺便介绍一下什么是相对路径,什么又是绝对路径。

相对路径与绝对路径

 相对路径

相对路径是相对于当前工作目录的路径。它不会从根目录开始,而是从当前工作目录出发,根据提供的路径信息来找到目标文件或目录。这意味着,相同的相对路径可能会因为当前工作目录的不同而指向不同的文件或目录。

例如:./demo.txt

绝对路径

绝对路径是完整的文件或目录的路径,从根目录(或某个特定的根目录,如Windows中的C:\或Unix/Linux中的/)开始,一直到文件或目录所在的位置。它包含了访问文件或目录所需的所有目录名,并以文件或目录的名称结束。绝对路径是唯一的,不会因为当前工作目录的改变而改变。

例如:C:\Users\Name\demo.txt

代码实例 

        File file = new File("./demo.txt");
        String name = file.getName();
        System.out.println("name:" + name);
        Long len = file.length();
        System.out.println("大小:" + len);

        //是否可读
        boolean canRead = file.canRead();
        System.out.println(canRead);

        //是否可写
        boolean canWrite = file.canWrite();
        System.out.println(canWrite);

        //文件是否隐藏
        boolean is_Hidden = file.isHidden();
        System.out.println(is_Hidden);

同样的有个小细节也需要注意的是文件名的大小写,在window操作系统中在默认情况下对文件名大小写不敏感,但是在在UNIX、Linux和macOS这样的操作系统上,文件系统通常是大小写敏感的。 因此为了为了编写可移植的代码,最好采用统一的命名规范,避免因为大小写问题而导致在不同平台上运行时出现错误。

文件(文件夹)的创建与删除 

对于文件以及文件夹的创建与删除语法上略有不同以及有些值得注意的地方,因此我们分开来讲

文件的创建与删除

文件的创建如下:

        /*
        boolean createNewFile()
        当且仅当File表示的路径下不存在且实际创建出文件时返回true
         */
        file.createNewFile();

        /*
        boolean exists()
        判断当前File表示的路径下是否真实存在该文件或者目录,如果存在则返回true
         */
        if (file.exists()) {
            System.out.println("该文件已经存在");
        } else {

            file.createNewFile();
            System.out.println("创建成功");
        }

文件的删除: 

        //将当前目录下的test.txt删除
        for (int i = 1; i <= 10; i++) {
            File file = new File("./test" + i + ".txt");
            System.out.println(file.delete()?"成功":"失败");
        }

此外在删除时我们也应该小心,这与你在文件管理器中点删除不同,文件管理器中删除是将文件移到垃圾回收站中,是可以复原的,但是使用delete时则是完全删除,因此小心你的重要文件。 

 文档的创建与删除

        //在当前项目目录下创建一个目录(文件夹):demo
        File dir = new File("./demo");
        dir.mkdir();

        File dir1=new File("./a/b/c/d/e");
        dir1.mkdirs();

        //目录删除时要求必须是空目录,否则删除失败
//        dir.delete();
//        dir1.delete();

 

 

 

 

 

 


网站公告

今日签到

点亮在社区的每一天
去签到