天天看点

File

file是java.io包下代表与平台无关的文件和目录,则程序中操作文件和目录,都可以通过file类来完成。

file能新建、删除、重命名文件和目录。file不能访问文件内容本身,如果访问文件内容本身,则需要使

用输入/输出流。

file类可以使用文件路径字符串来创建file实例,该文件路径字符串既可以是绝对路径,也可以是相对路

径。在默认情况下,系统总是依据用户的工作路径来解释相对路径。

创建file对象后,可以调用file对象的方法来访问。

常用的方法如下:

1、访问文件名相关的方法

(1) string getname():返回此文件对象所表示的文件名或路径名。

(2) string getpath():返回此file对象所对应的路径名。

(3) file getabsolutefile():返回此file对象所对应的绝对路径指向的file对象。

(4) string getabsolutepath():返回此file对象所对应的绝对路径。

(5) string getparent():返回此file对象所对应的目录的父目录,以工作路径为准,如果已经在工作

路径的根目录下,则返回null,否则返回父目录。

(6) boolean renameto(file newname):重命名此file对象所对应的文件或目录,成功返回true,否

则返回false。

2、文件检测相关的方法

(1) boolean exists():判断file对象所对应的文件或目录是否存在。

(2) boolean canwrite():判断file对象所对应的文件和目录是否可写。

(3) boolean canread():判断file对象所对应的文件和目录是否可读。

(4) boolean isfile():判断file对象所对应的是否是文件。

(5) boolean isdirectory():判断file对象所对应的是否是目录。

(6) boolean isabsolute():判断file对象所对应的文件或目录是否绝对路径。例如:如果在

unix/linux等系统上,如果路径名的开头是/,则表明file对象对应一个绝对路径,在windows等系统

上,如果路径开头是盘符,则说明它是一个绝对路径。

1、 获取常规文件信息

(1) long lastmodified():返回文件的最后修改时间。

(2) long length():返回文件内容的长度。

2、 文件操作相关的方法

(1) boolean createnewfile():当此file对象对应的文件不存在时,创建一个该file对象所对应的文

件,创建成功返回true,否则返回false。

(2) boolean delete():删除file对象所在的文件或路径。注意:当使用这个方法时,如果是删除的一

个文件夹,文件夹中有内容时文件夹不会被删除,如果是个空文件夹则可以删除成功。

3、 目录操作相关的方法

(1) boolean mkdir():创建一个file对象所对应的目录,创建的是目录而不是文件。注意:这个方

法,如果父级目录不存在时,则子目录无法创建。

(2) boolean mkdirs():创建一个file对象所对应的所有目录,如果上级目录不存在,会同时将上级目

录创建出来。

(3) file[] listfile():列出file对象的所有子文件和路径,返回file数组。

(4) static file[] listroots():列出系统所有根路径。

递归

方法定义中调用方法本身的现象

要有出口,否则就是死递归

次数不能太多,否则就内存溢出

构造方法不能递归使用