Java IO入门:File类操作与文件创建

需积分: 9 0 下载量 11 浏览量 更新于2024-09-07 收藏 44KB DOC 举报
"Java API 中的 IO" 在 Java 中,`java.io.File` 类是用于处理文件和目录的核心组件。它提供了访问文件系统中文件和目录的各种属性和操作的方法,但不涉及文件的实际内容读写。以下是对 `File` 类的一些关键知识点的详细解释: 1. **File 对象表示**: `File` 对象代表文件或目录的抽象表示,而非实际的文件内容。通过 `File` 类,你可以获取文件或目录的名称、大小、创建时间等信息。 2. **构造方法**: 创建 `File` 对象通常需要提供一个字符串参数,表示文件或目录的路径。例如: ```java File file = new File("./demo.txt"); ``` 这里创建了一个代表相对路径 "demo.txt" 的 `File` 对象。 3. **路径处理**: - **相对路径**:相对路径是相对于当前工作目录的路径,其解析取决于程序运行时的环境。 - **绝对路径**:绝对路径是从根目录开始的完整路径,不受运行环境影响。 4. **属性访问**: - `getName()`:返回文件或目录的名字。 - `length()`:返回文件的长度(字节数),对于目录返回值无意义。 - `canRead()`, `canWrite()`:检查文件是否可读、可写。 - `isHidden()`:判断文件是否为隐藏文件。 5. **文件操作**: - `createNewFile()`:如果不存在该文件,则尝试创建一个新的空文件。需要配合 `try-catch` 处理 `IOException`。 ```java File file = new File("test.txt"); file.createNewFile(); ``` - `mkdir()` 和 `mkdirs()`:分别用于创建单级目录和多级目录。如果中间目录不存在,`mkdirs()` 会尝试创建所有缺失的父目录。 6. **文件和目录的删除**: - `delete()`:删除文件或空目录。如果文件不是空目录,删除会失败。 7. **文件列表和迭代**: - `list()`:返回目录中所有非隐藏文件和目录的名字数组。 - `listFiles()`:返回目录中的所有文件和目录(包括隐藏文件)的 `File` 对象数组。 8. **文件和路径的比较**: - `equals()` 和 `compareTo()`:比较两个 `File` 对象是否表示同一个文件或目录。 9. **文件的重命名和移动**: - `renameTo(File dest)`:尝试将文件或目录重命名为指定的 `File` 对象表示的路径。 10. **文件的属性获取**: - `lastModified()`:获取文件的最后修改时间。 - `exists()`:检查文件或目录是否存在。 在实际开发中,除了 `File` 类,Java 还提供了 `java.nio.file` 包,它包含了一组更现代、更高效的文件 I/O API,如 `Path`、`Files` 和 `Paths` 等类,提供了异步 I/O 和流式操作等功能,可以更好地适应现代编程需求。然而,`File` 类仍然是许多基本文件操作的基石,对它的理解和掌握是 Java 开发者的基本功。