Java中文件与目录管理
目录是管理文件的特殊机制:同类文件放在同一目录下,既能简化管理,也能提高效率。Java 在 java.io 包里提供了 File 类,专门用来管理磁盘上的文件和目录。
每个 File 对象代表一个文件或目录,对象属性里带着路径、大小、权限等信息。调用它的方法可以创建、删除、重命名,判断读写权限和是否存在,也可以查询最近修改时间。不同操作系统的文件系统不一样,用 File 就能以平台无关的方式统一处理。
一、创建 File 对象
创建 File 对象时需要给出对应的文件名或目录名。常用构造方法如下:
| 构造方法 | 功能 |
|---|---|
| public File(String path) | 指定关联的文件或目录名,path 可含路径 |
| public File(String path, String name) | 以 path 为路径,以 name 为文件或目录名 |
| public File(File dir, String name) | 用已有 File 对象 dir 作为目录,再拼 name |
| public File(URI uri) | 用给定 URI 定位文件(原文 URL 构造已不推荐) |
使用时注意两点:
-
path可以是绝对路径、相对路径,也可以是某个目录。 -
不同操作系统的目录分隔符不同。原文写的 System.dirSep并不存在,应使用File.separator。
二、获取属性与操作
借助 File 对象可以查询属性,也可以创建、删除、重命名:
| 方法 | 功能 |
|---|---|
| boolean canRead() / canWrite() | 是否可读 / 可写 |
| boolean exists() | 文件或目录是否存在 |
| boolean createNewFile() | 不存在则创建空文件并返回 true;已存在返回 false |
| boolean isFile() / isDirectory() | 是否为有效文件 / 目录 |
| String getName() / getPath() | 返回名称 / 路径字符串 |
| long length() / lastModified() | 字节数(目录为 0)/ 最近修改时间 |
| String[] list() | 目录下所有文件名;不是目录则返回 null |
| boolean delete() / mkdir() | 删除(空目录才能删)/ 创建子目录 |
| boolean renameTo(File newFile) | 重命名为指定文件名 |
三、判断文件还是目录
【例 10-11】判断输入的绝对路径是文件还是目录。若是文件,输出绝对路径并判断是否可读写、是否隐藏;若是目录,输出该目录下所有非隐藏文件。
一句话总结:File 只描述路径,不负责读写内容;用它创建、查询、删除文件和目录,跨平台时用 File.separator 拼路径。
转载请注明来源:Java中文件与目录管理






