java中有几种类型的流

原创
admin 17小时前 阅读数 2 #Java
文章标签 Java

<a target="_blank" href="https://glio.ithorizon.cn/tag/Java/"style="color:#2E2E2E">Java</a>中的流类型

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();

}


本文由IT视界版权所有,禁止未经同意的情况下转发

热门