【问题标题】:Stream - Reset vs Allocating a new stream?流 - 重置与分配新流?
【发布时间】:2014-03-13 08:50:34
【问题描述】:

我正在使用输入流来读取多个文件,准确地说,是一个单独线程中的 ByteArrayInputStream。我为此使用了一个 while 循环,我应该在每次迭代时创建一个新的 ByteArrayInputStream,还是应该重置并再次读取?

【问题讨论】:

  • 目前尚不清楚您尝试读取的文件与另一个线程中的 bytearrayinputstream 之间的连接是什么。正如 Rembo 所说:显示代码
  • 我会质疑整个设计。读取处理它们的线程中的文件。

标签: java multithreading loops io stream


【解决方案1】:

我对此进行了性能测试,后者比前者快一点。如果您需要更快的代码执行速度,请重置流,而不是在 while 循环中创建新流。

【讨论】:

  • 在大文件的情况下这不是问题吗?如果文件很大并且您设置了标记,您可能会在重置时错过标记。
  • 如果我在重置或新流之间做出决定,这意味着不再需要旧流。这对我来说不是问题,但对其他人来说可能。
猜你喜欢
  • 2012-12-02
  • 2017-09-13
  • 2012-11-16
  • 1970-01-01
  • 1970-01-01
  • 2011-10-04
  • 2021-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多