Java IO操作详解:从临时文件到流的使用

需积分: 10 1 下载量 78 浏览量 更新于2024-09-17 收藏 760KB PDF 举报
"Java IO操作总结" Java IO是Java编程中的一个重要部分,它提供了处理输入输出数据的各种类和方法。以下是对标题和描述中提到的知识点的详细解释: 1. **临时文件**: - Java提供了`File.createTempFile(String prefix, String suffix)`方法来创建临时文件。临时文件通常用于存储程序运行过程中的中间数据,不需要持久化保存。调用`delete()`方法会立即删除文件,而`deleteOnExit()`则会在程序退出时自动删除。 2. **创建新文件**: - 使用`new File("filename")`创建一个`File`对象,然后调用`createNewFile()`方法创建文件。如果文件路径包含目录,确保目录存在或使用`mkdirs()`创建所需目录。 - 平台无关的路径创建:使用`File.separator`获取操作系统相关的路径分隔符,如在Windows上是`\`,在Unix或Mac上是`/`。 3. **创建文件目录**: - `File.mkdir()`方法用于创建单级目录。如果需要创建多级目录,可以使用`mkdirs()`。 4. **遍历目录并过滤文件**: - `File.listFiles(FilenameFilter filter)`方法用于获取指定目录下的所有文件和子目录。传入自定义的`FilenameFilter`实现来过滤特定类型的文件。在这个例子中,返回的是以".pdf"结尾的文件。 5. **输入流和输出流**: - Java的IO系统基于流模型,分为**输入流(InputStream)**和**输出流(OutputStream)**,分别用于数据的读取和写入。 - **输入流类结构**:包括字节流(如`InputStream`和`Reader`)和字符流(如`FileInputStream`和` FileReader`),它们都有对应的缓冲流,如`BufferedInputStream`和`BufferedReader`,提供更高效的读取。 - **输出流类结构**:与输入流类似,有字节流和字符流,如`OutputStream`和`Writer`,以及它们的缓冲流版本,如`BufferedOutputStream`和`BufferedWriter`。 - **基本的流类**: - **对文件的读写操作**:最基础的文件操作是使用节点流,如`FileInputStream`用于读取文件,`FileOutputStream`用于写入文件。它们直接与文件系统交互,提供基本的字节级别读写。 这些只是Java IO的一部分内容,实际的IO操作还包括缓冲、转换流(将字节流与字符流互转)、对象序列化、网络流(Socket通信)等复杂操作。学习Java IO需要理解流的层次结构,以及如何根据需求选择合适的流类型进行数据传输。