Java:File类

File

File类代表一个特定的文件或者目录,并提供了若干方法对该文件或目录进行操作。

文件存储在哪里?

File类构造方法

方法

说明

File(String pathname)

通过路径名创建一个新 File 实例

File(File parent, String child)

根据父目录路径File实例和子目录或文件路径创建一个新 File 实例

File(String parent, String child)

根据父目录路径和子目录或文件路径创建一个新 File 实例

File(URI uri)

通过统一资源标识符创建一个新的 File 实例

 代码1

 

 代码2

 说明:左侧代码红框框起的每一个File对象表示一个目录,而右侧红框框起的每一个File对象表示一个文件。

File类常用方法

 1.String getName():返回此对象表示的文件或目录最后一级文件夹名称

代码1

 

 注:返回文件名cmd.exe

 代码2

 注:返回目录最后一级文件夹名称System32

 2.String getParent():返回此File对象的父目录路径名;如果此路径名没有指定父目录,则返回 null

注:输出C:\Windows\Web

3.File getParentFile():返回File对象所在的父目录File实例;如果File对象没有父目录,则返回 null

注:输出Web

4.String getPath() :返回File对象所表示的字符串路径。

注:输出C:\Windows\Web

5.boolean mkdir():创建此File类对象指定的目录,不包含父目录。创建成功回true,否则返回false

注:由于Program_Files文件夹没有被创建,所以无法创建“C:\Program_Files\Java”目录,欲采用这种方法创建该目录必须先手动创建Program_Files文件夹。

6.boolean mkdirs():创建此File对象指定的目录,包括所有必需但不存在的父目录,创建成功返回true;否则返回false。注意,此操作失败时也可能已经成功地创建了一部分必需的父目录。

 说明:欲采用这种方法创建“C:\Program_Files\Java”目录,尽管Program_Files文件夹没有被创建,但依然可以成功。

7.boolean createNewFile():如果指定的文件不存在并成功地创建,则返回 true;如果指定的文件已经存在,则返回 false;如果所创建文件所在目录不存在则创建失败并出现IOException异常。

注意:mkdir()和mkdirs()只能创建目录,不能创建文件;而createNewFile()只能创建文件,不能创建目录;

           boolean exists():判断文件或目录是否存在

代码1

 

注:断文件是否存在

代码2

 注:判断目录是否存在

8.boolean delete():删除File类对象表示的目录或文件。如果该对象表示一个目录,则该目录必须为空才能删除;文件或目录删除成功返回true,否则false。

 代码1

注:由于D:\images目录非空,所以目录删除失败。

代码2

 

 注:删除图片文件

思考:如果先执行代码2,再执行代码1,那么D:\images 目录能删除成功吗?

9.boolean isDirectory():判断此File对象代表的路径表示是不是目录,只有File对象代表路径存在是一个目录时才返回true,否则返回false。

 注:由于C:\Program Files目录存在,所以返回true

10.boolean isFile():判断此File对象代表的路径是否是一个标准文件,只有File对代表路径存在且是一个标准文件时才返回true,否则返回false

注:由于C:\Windows\System32\cmd.exe路径存在并且是一个标准文件,所以返回true

11.String[] list():返回由File象对应目录所包含文件名或文件夹名组成的字符串数组。

红框:思考:C:\Program Files为目录路径,如果是文件路径(如C:\Windows\System32\cmd.exe)则程序出现NullPointerException异常,为什么?

蓝框:遍历C:\Program Files目录路径下的文件名或文件夹名。

12.File[] listFiles():返回由当前File对象对应目录所包含文件路径或文件夹路径组成的File类型的数组。

蓝框:思考:如果是文件路径(如C:\Windows\System32\cmd.exe)则程序出现NullPointerException异常,为什么?

红框:遍历由C:\Program Files目录路径下文件路径或文件夹路径组成的File对象。

13.boolean renameTo(File dest):重新命名此File对象表示的文件,重命名成功返回true,否则返回false

File类属性

1.static separator:指定文件或目录路径时使用斜线或反斜线来写,但是考虑到跨平台,斜线反斜线最好使用File类的separator属性来表示:

2. 绝对路径与相对路径

绝对路径:从盘符开始的路径。

相对路径:从当前路径开始的路径。

           / 代表同级目录

           / 代表一级上级目录(间隔一个目录)

猜你喜欢

转载自blog.csdn.net/DragonGirI/article/details/83153767