在Java语言中,流(Stream)是一种抽象的概念,用于表示数据的流动。它用于从源读取数据或向目标写入数据,这些操作可以是连续的字节流或字符流。
字节流主要用于处理二进制文件,即读写原始字节数据。字节流是最基本的输入/输出流,所有其他类型的流都是建立在字节流的基础上。
例子:
import java.io.*;
public class ByteStreamExample {
public static void main(String[] args) {
try {
// 创建一个FileOutputStream对象
FileOutputStream fos = new FileOutputStream("example.txt");
// 写入一些数据到文件
fos.write("Hello, World!".getBytes());
// 关闭流
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,我们创建了一个FileOutputStream
对象来写入数据到名为example.txt
的文件中。
字符流用于处理文本文件,它使用字符编码来读写字符数据。Java的字符流在底层会自动处理字符编码的转换,通常使用Reader
和Writer
类。
例子:
import java.io.*;
public class CharStreamExample {
public static void main(String[] args) {
try {
// 创建一个FileWriter对象
FileWriter fw = new FileWriter("example.txt");
// 写入一些文本数据到文件
fw.write("你好,世界!");
// 关闭流
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,我们创建了一个FileWriter
对象来写入文本数据到example.txt
文件中。
在实际开发中,选择合适的流类型对于数据的正确读写至关重要。