Java输入流中的read(byte[] b)方法如何实现高效读取并处理大量数据流?

2026-04-19 17:301阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1741个文字,预计阅读时间需要7分钟。

Java输入流中的read(byte[] b)方法如何实现高效读取并处理大量数据流?

我就不多说了,大家直接看代码吧。public int read(byte[] b) throws IOException,从输入流中读取一定数量的字节,并存放到b数组中。这个方法会返回读取的字节数。

我就废话不多说了,大家还是直接看代码吧~

public int read(byte[] b) throws IOException

从一个输入流中读取一定数量的字节,并将这些字节存储到其缓冲作用的数组b中。这个函数会返回一次性读取的字节数。

这个函数是一个阻塞式的函数,当它读到有效数据、确认的文件尾(EOF)或者抛出一个异常时它才会执行其他语句,否则一直停在read()函数处等待。

比如下面的列子:

ServerSocket server = new ServerSocket(port) Socket client = server.accept(); BufferedInputStream bis = new BufferedInputStream(client.getInputStream);

byte[] box = new byte[1024]; int len = 0; while(-1!=(len = bis.read(box))) { System.out.println(len); String msg = new String(box, 0, len); }语句1;语句二;

在这种情况下,当从客户端接收了一条信息并转成msg字符串后,while循环会又回到read()函数,不会跳出循环执行语句一和二。

阅读全文

本文共计1741个文字,预计阅读时间需要7分钟。

Java输入流中的read(byte[] b)方法如何实现高效读取并处理大量数据流?

我就不多说了,大家直接看代码吧。public int read(byte[] b) throws IOException,从输入流中读取一定数量的字节,并存放到b数组中。这个方法会返回读取的字节数。

我就废话不多说了,大家还是直接看代码吧~

public int read(byte[] b) throws IOException

从一个输入流中读取一定数量的字节,并将这些字节存储到其缓冲作用的数组b中。这个函数会返回一次性读取的字节数。

这个函数是一个阻塞式的函数,当它读到有效数据、确认的文件尾(EOF)或者抛出一个异常时它才会执行其他语句,否则一直停在read()函数处等待。

比如下面的列子:

ServerSocket server = new ServerSocket(port) Socket client = server.accept(); BufferedInputStream bis = new BufferedInputStream(client.getInputStream);

byte[] box = new byte[1024]; int len = 0; while(-1!=(len = bis.read(box))) { System.out.println(len); String msg = new String(box, 0, len); }语句1;语句二;

在这种情况下,当从客户端接收了一条信息并转成msg字符串后,while循环会又回到read()函数,不会跳出循环执行语句一和二。

阅读全文