java中有几种类型的流
原创
Java中的流类型
Java中的流(Stream)是用于输入/输出处理的一种抽象概念。通过流的流向和所处理数据的类型,可以分为以下几种类型:
1. 字节流和字符流
通过处理的数据类型,Java流可以分为字节流和字符流。
- 字节流:以字节为单位进行数据传输,可以处理任何类型的数据,如图片、声音、视频等。字节流的顶层父类是 InputStream 和 OutputStream。
- 字符流:以字符为单位进行数据传输,重点用于处理文本数据。字符流的顶层父类是 Reader 和 Writer。
2. 输入流和输出流
通过数据的流向,Java流可以分为输入流和输出流。
- 输入流:从数据源(如文件、网络等)读取数据到程序中,所有的输入流的顶层父类是 InputStream 和 Reader。
- 输出流:将程序中的数据写入到目的地(如文件、网络等),所有的输出流的顶层父类是 OutputStream 和 Writer。
3. 节点流和处理流
通过流的实现行为,Java流可以分为节点流和处理流。
- 节点流:直接与数据源或目的地交互的流,如 FileInputStream、FileOutputStream、FileReader、FileWriter 等。
- 处理流:在节点流在出现的同时进行包装,提供额外的功能,如缓冲、过滤、转换等。常见的处理流有 BufferInputStream、BufferOutputStream、BufferedReader、BufferedWriter、DataInputStream、DataOutputStream 等。
示例代码:使用字节流读取文件内容
try {
FileInputStream fis = new FileInputStream("example.txt");
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
System.out.print(new String(buffer, 0, len));
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
文章标签:
Java