# Java IO 教程和示例

> 原文： [https://howtodoinjava.com/java-io-tutorial/](https://howtodoinjava.com/java-io-tutorial/)

Java IO 是类和接口的集合，您可以使用它们来通过 Java 应用程序执行几乎所有可能的 IO 操作。 该 Java IO 教程列出了各种场景下 IO 操作的示例，以供快速参考。

## Java IO 基础

*   [Java I/O 在较低级别内部如何工作？](//howtodoinjava.com/java/io/how-java-io-works-internally-at-lower-level/)
*   [标准 IO 和 NIO 之间的差异](//howtodoinjava.com/java/io/difference-between-standard-io-and-nio/)
*   [使用`try-with-resources`的自动资源管理](//howtodoinjava.com/java-7/automatic-resource-management-with-try-with-resources-in-java-7/)

## 目录操作

*   [如何复制目录](//howtodoinjava.com/java/io/how-to-copy-directories-in-java/)
*   [删除其中包含所有文件的目录](//howtodoinjava.com/java/io/delete-a-directory-with-all-files-inside-it/)

## 文件操作

*   [如何创建新文件](//howtodoinjava.com/java/io/how-to-create-a-new-file-in-java/)
*   [如何读取文件](//howtodoinjava.com/java/io/how-to-read-file-in-java-bufferedreader-example/)
*   [如何写入文件](//howtodoinjava.com/java/io/how-to-write-to-file-in-java-bufferedwriter-example/)
*   [如何检查文件是否存在](//howtodoinjava.com/java/io/how-to-check-if-file-exists-in-java/)
*   [在 Java 8 中逐行读取文件](//howtodoinjava.com/java8/read-file-line-by-line-in-java-8-streams-of-lines-example/)
*   [使用`LineNumberReader`](//howtodoinjava.com/java/io/java-io-linenumberreader-example-to-read-file-line-by-line/) 逐行读取文件
*   [如何使文件只读](//howtodoinjava.com/java/io/how-to-make-a-file-read-only-in-java/)
*   [4 种复制文件的方式](//howtodoinjava.com/java/io/4-ways-to-copy-files-in-java/)
*   [如何查找/删除某些扩展名为](//howtodoinjava.com/2015/01/21/how-to-finddelete-files-of-certain-extension-filenamefilter-example/)的文件
*   [`FileFilter`示例](//howtodoinjava.com/java/io/java-io-filefilter-example-tutorial/)

## 临时文件操作

*   [创建一个临时文件](//howtodoinjava.com/java/io/create-a-temporary-file-in-java/)
*   [将数据写入临时文件](//howtodoinjava.com/java/io/write-data-to-temporary-file-in-java/)
*   [如何删除临时文件](//howtodoinjava.com/java/io/how-to-delete-temporary-file-in-java/)

## 从 X 转换为 Y

*   [将字符串转换为`InputStream`](//howtodoinjava.com/java/io/convert-string-to-inputstream-in-java/)
*   [如何将文件内容读入字节数组](//howtodoinjava.com/java/io/how-to-read-file-content-into-byte-array-in-java/)
*   [如何从`InputStream`读取数据到字符串](//howtodoinjava.com/apache-commons/how-to-read-data-from-inputstream-into-string-in-java/)

## 杂项用途

*   [如何从控制台](//howtodoinjava.com/java/io/java-io-how-to-read-input-from-console/)读取输入
*   [创建受密码保护的 Zip 文件](//howtodoinjava.com/2015/06/25/how-to-create-password-protected-zip-files-in-java/)
*   [在 Linux 中管理系统日志文件的大小不超过 N GB](//howtodoinjava.com/java/io/manage-system-log-files-in-linux-using-java/)
*   [如何生成 SHA 或 MD5 文件校验和哈希值](//howtodoinjava.com/java/io/how-to-generate-sha-or-md5-file-checksum-hash-in-java/)
*   [如何在内存序列化中使用深度克隆](//howtodoinjava.com/java/serialization/how-to-do-deep-cloning-using-in-memory-serialization-in-java/)
*   [加载/读取/写入属性文件示例](//howtodoinjava.com/java/io/java-loadreadwrite-properties-file-examples/)
*   [如何读取写入的 UTF-8 编码数据](//howtodoinjava.com/java/io/how-to-read-write-utf-8-encoded-data-in-java/)
*   Java 8 中的 [Base64 编码和解码示例](//howtodoinjava.com/java8/base64-encoding-and-decoding-example-in-java-8/)

**祝您学习愉快！**

**参考**：[https://docs.oracle.com/javase/tutorial/essential/io/](https://docs.oracle.com/javase/tutorial/essential/io/)