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():列出系统所有根路径。
递归
方法定义中调用方法本身的现象
要有出口,否则就是死递归
次数不能太多,否则就内存溢出
构造方法不能递归使用