Java IO框架详解:File类与流的概念

需积分: 9 0 下载量 196 浏览量 更新于2024-08-05 收藏 19KB MD 举报
本文档介绍了Java中的IO框架,特别是关于流的概念和分类,以及File类的使用。 在Java中,IO框架是用于处理输入和输出操作的重要部分,它允许程序与各种类型的输入源(如硬盘、网络、内存等)进行数据交换。流是这个框架的核心概念,它扮演着内存与存储设备之间传输数据的通道的角色。 流的分类主要基于两个维度: 1. 按数据传输的方向: - 输入流:从外部存储设备(如磁盘、网络等)读取数据到内存中。 - 输出流:将内存中的数据写入外部存储设备。 2. 按数据处理单位: - 字节流:以8位字节为基本单位,可以处理任何类型的数据。 - 字符流:以字符为单位,主要用于处理文本数据。字符流也可以通过字节流来处理,特别是涉及编码转换的情况。 3. 按功能: - 节点流:直接与数据源或目的地交互,实现实际的数据读写。 - 过滤流(也称为装饰器流):在节点流的基础上添加额外的功能,如缓冲、转换、压缩等。 `File`类是Java中用于表示文件和目录的一个核心类,提供了丰富的API来操作文件和目录: - `createNewFile()`:创建一个新的文件,如果文件已存在则失败。 - `mkdir()`:创建一个新目录,仅能创建单层目录,无法创建多级目录结构。 - `delete()`:删除文件或空目录。 - `exists()`:检查文件或目录是否存在。 - `getAbsolutePath()`:返回文件或目录的绝对路径。 - `getName()`:获取文件或目录的名称。 - `getParent()`:获取文件或目录所在的上级路径。 - `isDirectory()` 和 `isFile()`:分别检查是否为目录或文件。 - `length()`:返回文件的大小(以字节为单位)。 - `listFiles()`:返回目录下的所有文件和子目录的`File`对象数组。 - `renameTo(File dest)`:将文件或目录重命名为指定的`File`对象。 - `createTempFile(String prefix, String suffix)`:在默认的临时文件目录下创建一个带有指定前缀和后缀的临时文件。 在实际使用中,`File`类的方法通常结合输入/输出流一起工作,以实现读取、写入、移动或删除文件等操作。例如,以下代码创建了一个名为“abc.txt”的文件,并输出了它的名称: ```java File f = new File("abc.txt"); // 创建文件对象 System.out.println(f.getName()); // 输出文件名 ``` 为了进一步操作文件,例如读取或写入内容,我们需要使用特定的输入/输出流,如`FileInputStream`和`FileOutputStream`。过滤流如`BufferedReader`和`BufferedWriter`则可以提供性能优化和易用性增强。Java的IO框架提供了强大的文件操作能力,满足各种复杂场景的需求。
2021-03-22 上传