我们从输入流读取值后有什么值



我想知道,当我们从InputStream之后读取某些内容时,流中有什么价值?是删除还是保留相同的值?例如,我有一个代码可以从InputStream读取某些内容并在屏幕上打印。这是代码:

        char[] data = new char[1024];
        while (!isInterrupted()) {
            try {
                in.read(data);  // Step 1
            } catch (IOException e) {
                continue;
            }
            msg = new String(data);
            System.out.println(msg);   // Step 2
        }

因此,当步骤 1 第一次读取某些内容并步骤 2 打印它时,就可以了。但是当它再次进入步骤 1 并且如果发件人没有发送任何内容时,那么步骤 1 会做什么?它会等到它获得新值(或发送者发送任何内容)还是会读取相同的值并打印相同的值?或者它会抛出异常?请帮忙。

javadoc 说:

此方法将一直阻止,直到输入数据可用、检测到文件结尾或引发异常。

因此,根据文档,除非发送方关闭流,否则它将阻塞,直到数据可用。

相关内容

  • 没有找到相关文章

最新更新