Java 输入输出相关概念介绍(File、IO 流)(二)

247 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第2天,点击查看活动详情

承接上篇文章:Java 输入输出相关概念介绍(File、IO 流)(一)

这篇文章我们主要介绍File 类。

File 类基本概念

在我们日常操作文件的时候,比如说判断某个文件是否存在,删除某个文件,创建文件等等,会使用到File 类。

看到File,根据它的常用中文翻译,我们可能下意识地以为这是个代表“文件夹”的类。

其实File 类可以代表文件名或者文件路径名(文件夹)。此类主要应用场景为:文件和目录的创建、文件的查找、文件的删除等等。

Java 中,所有的目录都被当成File 对待,可以认为它是文件或者路径的“代表”。

File 类本身不会指定如何操作文件里对应的数据、信息如何传输或者存储,File 类仅仅是对一个生活中实际存在的事物的一个抽象(虽然电脑中的文件是看不见摸不着的,但是它是以某种方式实实在在存在的),File 类描述文件本身的属性,比如说是否存在,修改时间,文件大小,全路径是什么等等。

一句话说就是File 对象通常被用来获取或者处理文件或者路径相关的信息。

File 类的使用

File 类对象使用new 创建。构造函数有多个,常用如下:

File(File parent, String child) 
parent 本身是一个File 实例,其自带抽象路径名。
所以就根据parent 路径名和 child 路径名字符串创建一个新 File 实例。

File(String pathname) 
将给定路径名字符串参数,转换为路径名,创建一个File 实例。

File(String parent, String child) 
由parent 字符串和child 字符串创建File 实例。

File(URI uri) 
将URI 转换为一个抽象路径名,用来创建File 实例。

File f4 =new File(File.separator + "src");
小技巧:File.separator,用来区分跨平台的路径,separator方法会自动获取不同平台的分隔符。
windows 下是'\',linux 下是'/'

其实File 实例的创建归根结底就是传入路径参数,创建类对象。

File 类生成实例之后,其对应的常用方法如下:

public boolean isDirectory()
判断File 实例是否是一个目录。

public boolean isFile()
判断File 实例是否是一个标准文件。

public boolean exists()
判断文件或者目录是否存在。

public boolean mkdir()
根据File 实例对应的路径创建文件夹。

public boolean createNewFile()
根据File 实例的相关路径创建文件

其他的方法也很容易理解,同时不容易弄混,这里就不再展开叙述了。

总结

File 类就是计算机对电脑中实际存储的文件或者路径的抽象。其自带很多属性,但是并不提供对文件中的数据做操作的api。可以认为File 类就是一个标准的描述类。

之后文章会继续接口其他Java 输入输出相关类。