Java IO 部分提供了用于输入和输出数据的类和接口。它允许您在 Java 应用程序中读取和写入数据,并与文件、网络套接字、数据库等各种数据源交互。
Java IO 可以分为两个主要部分:
- 流(Streams):流是用于处理输入和输出数据的基本单元。它们提供一种连续的数据传输机制。 Java 提供两种类型的流:字节流和字符流。字节流以字节为单位处理数据,通常用于处理二进制数据,如图像、音频等。字符流以字符为单位处理数据,通常用于处理文本数据。
- 文件 I/O:Java 提供了一套用于处理文件 I/O 的类和接口。您可以使用这些类创建、读取、写入和管理文件。 Java 还提供对 ZIP 和 JAR 文件格式的支持。
## 流(Streams)Java 中的流分为两种主要类型:
- 字节流:用于处理原始字节数据。它包括输入字节流(InputStream)和输出字节流(OutputStream)。例如,FileInputStream 和 FileOutputStream 类用于处理文件中的字节数据。
InputStream is = new FileInputStream("file.txt");
OutputStream os = new FileOutputStream("file.txt");
- 字符流:用于处理字符数据。它包括输入字符流(Reader)和输出字符流(Writer)。例如,FileReader 和 FileWriter 类用于处理文本文件中的字符数据。
Reader reader = new FileReader("file.txt");
Writer writer = new FileWriter("file.txt");
一些常见的流类包括:
- InputStream 和 OutputStream:这是所有字节流的超类。它们定义了基本的方法来读取和写入字节数据。
- FileInputStream 和 FileOutputStream:用于处理文件中的字节数据。
- ByteArrayInputStream 和 ByteArrayOutputStream:用于处理内存中的字节数组。
- DataInputStream 和 DataOutputStream:提供对基本数据类型(如 int、float 等)的读写支持。
- BufferedReader 和 BufferedWriter:提供缓冲功能,可以提高字符流的性能。
InputStream is = new FileInputStream("file.txt");
BufferedInputStream bis = new BufferedInputStream(is);
- PrintWriter:用于格式化输出,通常用于打印到控制台或文件。
## 文件 I/O: Java 提供了一套用于处理文件 I/O 的类,包括:
- File:表示文件和目录路径。它提供方法来创建、删除、重命名和获取文件信息。
- RandomAccessFile:提供对文件的随机访问,允许您在文件中向前或向后读取和写入数据。
- FileReader 和 FileWriter:用于处理文本文件中的字符数据。
- FileInputStream 和 FileOutputStream:用于处理文件中的字节数据。
- FileUtils(Apache Commons IO):Apache Commons IO 库提供了一个方便的 FileUtils 类,包含许多实用程序方法来处理文件和目录。
--