Java File类详解:操作文件与目录

需积分: 9 3 下载量 193 浏览量 更新于2024-07-21 收藏 717KB DOC 举报
"Java文件操作基础" 在Java编程中,`File`类是处理文件和目录的核心类。它位于`java.io`包中,提供了丰富的功能来管理文件系统中的对象。`File`类并不是用来直接读写文件内容的,而是用于获取文件的元数据(如名称、大小、创建日期等)以及进行文件操作,如创建、删除、重命名等。 1. **文件和目录的表示** `File`类可以表示文件或目录,它并不实际存储数据,而是封装了一个抽象路径名。通过`File`对象,我们可以获取和操作磁盘上的文件或目录。创建`File`对象时,无需保证文件或目录实际存在,只是创建了一个引用。 2. **检查文件或目录的存在** 使用`exists()`方法可以检查指定的文件或目录是否存在。例如: ```java File file = new File("c:\\a.txt"); System.out.println(file.exists()); ``` 如果路径存在,`exists()`将返回`true`;否则返回`false`。 3. **判断文件类型** - `isDirectory()`用于判断`File`对象是否代表一个目录: ```java System.out.println(file.isDirectory()); ``` - `isFile()`用于判断`File`对象是否代表一个普通文件: ```java System.out.println(file.isFile()); ``` 4. **File构造器** - `File(String pathname)`:通过给定的路径创建一个`File`对象。 - `File(String parent, String child)`:根据父路径名字符串和子路径名创建一个`File`对象,组合成完整路径。 - `File(File parent, String child)`:根据抽象路径名的父对象和子路径名创建一个`File`对象。 5. **文件操作** - `createNewFile()`:如果文件不存在,尝试创建一个新的空文件。 - `mkdir()`/`mkdirs()`:创建单级目录或多级目录,如果路径中涉及的父目录不存在,`mkdirs()`会尝试创建所有缺失的父目录。 - `delete()`:删除文件或空目录。如果目标是目录且非空,需要先删除其中的文件和子目录。 - `renameTo(File dest)`:重命名当前文件或目录到指定的新名称。 6. **文件属性获取** - `getName()`:获取文件或目录的名称。 - `length()`:获取文件的大小(字节)。 - `lastModified()`:获取文件的最后修改时间(毫秒值)。 - `canRead()`/`canWrite()`:检查文件是否可读或可写。 7. **路径操作** - `getParent()`:获取文件的父路径。 - `getPath()`:返回一个字符串,表示此抽象路径名的路径。 - `toURI()`/`toURL()`:将文件路径转换为URI或URL对象。 8. **文件列表和迭代器** `list()`和`listFiles()`方法可以获取指定目录下的所有文件或子目录的名称列表,`listFiles()`还可以接受过滤器,筛选出满足特定条件的文件。 9. **路径操作** `getPath()`返回文件的绝对路径,而`getAbsolutePath()`确保路径是绝对的,即使原始路径是相对的。`canonicalPath()`返回规范化的路径,消除任何不必要的`.`和`..`。 通过这些方法,开发者可以方便地处理文件系统中的文件和目录,实现文件的管理及读写操作前的准备。在实际开发中,`File`类常常作为输入/输出流操作的基础,用于打开、关闭、创建和定位文件。