Java基础学习(十四):File类
目录
- Java基础学习(十四):File类
- 概念
- File 类的创建
- File 类的常见成员方法(判断、获取)
- File 类的常见成员方法(创建、删除)
- File 类的常见成员方法(获取并遍历)
本文为个人学习记录,内容学习自 黑马程序员
概念
- File 对象就表示一个路径,可以是文件的路径,也可以是文件夹的路径;这个路径可以是存在的,也可以是不存在的
- 目的:获取路径对应的文件对象,再利用 File 类中的方法对文件进行操作
File 类的创建
-
构造方法:
方法名 说明 public File(String pathname) 根据文件路径创建文件对象 public File(String parent, String child) 根据父路径名和子路径名创建文件对象 public File(File parent, String child) 根据父路径对应文件对象和子路径名字符串创建文件对象 -
示例:
// 方法一 String str = "C:\\Users\\Legion\\Desktop\\a.txt"; File f1 = new File(str);// 方法二 String parent = "C:\\Users\\Legion\\Desktop"; String child = "a.txt"; File f2 = new File(parent, child);// 方法三 File parent2 = new File(parent); String child2 = "a.txt"; File f3 = new File(parent2, child2);
File 类的常见成员方法(判断、获取)
-
常用方法
方法名 说明 public boolean isDirectory() 判断此路径名表示的 File 是否为文件夹 public boolean isFile() 判断此路径名表示的 File 是否为文件 public boolean exists() 判断此路径名表示的 File 是否存在 public long length() 返回文件的大小(字节数量) public String getAbsolutePath() 返回文件的绝对路径 public String getPath() 返回定义文件时使用的路径 public String getName() 返回文件/文件夹的名称,带后缀 public long lastModified() 返回文件的最后修改时间(时间毫秒值) -
注意事项:
- length() 方法只能用于获取文件的大小,用于获取文件夹大小时输出是不正确的,具体输出值由操作系统决定
- 定义文件时采用绝对路径则 getPath() 方法返回绝对路径,定义文件时采用相对路径则 getPath() 方法返回相对路径
File 类的常见成员方法(创建、删除)
-
常用方法
方法名 说明 public boolean createNewFile() 创建一个新的空的文件 public boolean mkdir() 创建单级文件夹 public boolean mkdirs() 创建多级文件夹 public boolean delete() 删除文件、空文件夹 -
注意事项
- createNewFile() 方法的返回值表示是否创建成功,如果当前路径表示的文件不存在,则创建成功;如果已经存在,则创建失败
- 使用 createNewFile() 方法时必须保证文件对象的父级路径是存在的,否则会出现异常 IOException
- createNewFile() 方法创建的一定是文件,如果路径中不包含后缀名,则会创建一个没有后缀的文件,而非文件夹
- mkdir() 方法的返回值表示是否创建成功,如果当前路径表示的文件夹不存在,则创建成功;如果已经存在,则创建失败
- mkdir() 方法只能创建单级文件夹,如果用来创建多级文件夹时不会报错,但返回值为 false
- mkdirs() 方法既能创建多级文件夹,也能创建单级文件夹
- delete() 方法默认只能删除文件和空文件夹,并且不会经过回收站
File 类的常见成员方法(获取并遍历)
-
常用方法
方法名 说明 public File[] listFiles() 获取当前路径下所有内容 -
注意事项
- listFiles() 方法的调用者表示的路径为文件夹时,返回值为该文件夹内所有文件和文件夹的 File 对象组成的数组(包括隐藏文件)
- listFiles() 方法的调用者表示的路径不存在时,或者表示的路径为文件时,或者文件夹需要权限才能访问时,返回值为 null
- listFiles() 方法的调用者表示的路径是空文件夹时,返回值为一个长度为 0 的数组
-
了解即可的方法
方法名 说明 public static File[] listRoots() 列出可用的文件系统根(系统盘符) public String[] list() 获取当前路径下所有内容(仅获取文件名) public String[] list(FilenameFilter filter) 利用文件名过滤器获取当前路径下所有内容 public File[] listFiles(FileFilter filter) 利用文件名过滤器获取当前路径下所有内容 public File[] listFiles(FilenameFilter filter) 利用文件名过滤器获取当前路径下所有内容