Java 基础之 File

一、概述

File 类在日常的开发中应当是不少见的,只要是涉及到文件读写的,往往都需要借助 File 类。本篇文章为笔者的读书笔记,将对 File 类的使用做一个简单的介绍,内容如下所示:

  • File 是什么
  • File 的构造方法
  • File 的常用方法
  • File 的简单例子

接下来我们就根据上面的列举出来的内容概要对 File 类进行较为详细的介绍。


二、什么是File

File 类是 java.io 包中唯一代表磁盘文件本身的对象。File 类定义了一些与平台无关的方法来操作文件来操作文件,可以通过调用 File 类的方法,实现创建、删除、重命名文件等操作。File 类的对象主要用来获取文件本身的一些信息,如文件所在的目录、文件的长度、文件的读写权限等。此外 File 类还有以下几点注意事项:

  • File 对象除了能表示文件本身外,还能表示文件目录;
  • File 对象并非就是文件本身,它实际上代表的是和实际文件的一种联系,是一个抽象的表现形式,这种联系通过虚拟机来维持;
  • 从第二点可知,File 对象所指代的文件并不一定是真实存在的,它有可能为空。

在大致了解了 File 类的作用之后,接下来我们就从构造方法入手,来了解 File 类是如何使用的。


三、File 类的构造方法

File 类有以下 4 个构造方法,构造方法及其参数的含义如下表所示:

方法 说明
File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。
File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。
File(URI uri) 通过将给定的 file: URI转换为抽象路径名来创建新的 File实例。

接下来我们就通过几个例子来了解下它们各自的使用。

File(String pathname)

我们假定文件所在的位置为 C:\Users\Marck\Desktop\demo.jpg。这是笔者电脑桌面上的一张图片,我们需要创建一个 File 实例来表示这张图片文件,代码如下所示:

public class FileDemo {
   
    public static void main(String[] args) {
   
        String path = "C:\\Users\\Marck\\Desktop\\demo.jpg";
        // 构建File对象
        File file = new File(path);
    }
}

这里需要注意的是字符 '\' 需要使用转义字符 '\\' 来表示。

接着我们思考一个问题:上述的文件路径 C:\Users\Marck\Desktop\demo.jpg 是在 Windows 系统下的路径表示形式,但在其他操作系统上路径分隔符就未必是 '\' 了。那么是否有什么方法可以统一表示不同平台下的路径分隔符呢?

答案是采用符号 '/' 或者调用 File.separator。上述图片的文件路径分隔符采用 '/' 来表示之后即为 C:/Users/Marck/Desktop/demo.jpg,这种形式在任何平台下都是通用的;而调用 File.separator 的方式也可以达到同样的效果,上述路径在这种形式下表示为:

"C:" + File.separator + "Users" + File.separator + "Marck" + File.separator + "Desktop" + File.separator + "2.JPG";

它同样也可以达到跨平台通用的效果,但一般而言我们更愿意使用 '/' 的表示形式,因为调用 File.separator 的方式往往会比较麻烦。

File(String parent, String child)

依然以上面的图片文件路径 C:\Users\Marck\Desktop\demo.jpg 为例,将 C:\Users\Marck\Desktop 作为其父路径,代码如下所示:

public class FileDemo {
   
    public static void main(String[] args) {
   
        String parentPath = "C:/Users/Marck/Desktop";
        File file = new File(parentPath, "demo.jpg");
    }
}

通过该构造方法创建的 File 实例与第一种方法达到的效果是一致的。

File(File parent, String child)

这个构造方法其实和第二种构造方法的使用是非常相似的,只不过第一个参数 parent 的类型为 File,依旧以上面图片文件的路径为例创建该图片文件的 File 对象:

public class FileDemo {
   
    public static void main(String[] args) {
   
        File file = new File(new File("C:/Users/Marck/Desktop"), "demo.jpg");
    }
}

通过该构造方法创建的 File 实例与第二种方法达到的效果是一致的。

File(URI uri)

这个构造方法应该是最不常使用的了,它需要借助统一资源标识符 URI 类来辅助构造 File 实例,代

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值