Java的IO流是用于处理输入和输出的机制,用于与外部设备(如文件、网络、控制台等)进行数据交互。
Java中的IO流分为字节流和字符流两种类型。字节流主要用于处理二进制数据,而字符流则用于处理文本数据。
字节流:
- InputStream:用于从输入源(如文件、网络等)读取字节数据。
- OutputStream:用于向输出目标(如文件、网络等)写入字节数据。
字符流:
- Reader:用于从输入源(如文件、网络等)读取字符数据。
- Writer:用于向输出目标(如文件、网络等)写入字符数据。
常用的IO流类包括FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等。
以下是一个示例,展示如何使用字符流来从文件中读取文本数据并输出到控制台:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderExample {
public static void main(String[] args) {
String filePath = "path/to/file.txt"; // 文件路径
try (Reader reader = new FileReader(filePath);
BufferedReader bufferedReader = new BufferedReader(reader)) {
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line); // 输出每行文本数据
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述示例中,使用`FileReader`来读取文件中的字符数据,然后将其传递给`BufferedReader`进行缓冲,一次读取一行数据。然后,通过循环遍历每行数据,并输出到控制台。
这只是一个简单的示例,IO流有更多的使用方法和类。可以根据具体需求来选择适合的IO流类和方法。不同的IO流类提供不同的功能和灵活性,可以用于处理各种输入和输出需求。