如何在Java中创建具有特定扩展名的文件的InputStream?

时间:2014-03-21 10:40:35

标签: java inputstream

我在目录中有很多文件,但我只想阅读具有特定扩展名的文件(例如.txt)。我希望将这些文件添加到相同的BufferedInputStream中,以便我可以一次性读取它们。当我在文件末尾调用read()时,下一个应该开始。

这真的感觉应该有一个明显的答案,但我找不到运气。

3 个答案:

答案 0 :(得分:2)

您可能需要查看SequenceInputStream

  

SequenceInputStream表示其他的逻辑串联   输入流。它从有序的输入集合开始   从第一个流到读取文件结束的流和读取,   然后它从第二个读取,依此类推,直到文件结束   在最后包含的输入流上达到。

答案 1 :(得分:1)

对我来说,“明显的答案”是:

只需iterate through all the files in the directory使用适当的过滤器。对于每个文件,创建一个FileInputStream,阅读并关闭它。

答案 2 :(得分:0)

我不认为这个问题有明显的答案。

您可能需要创建一个Wrapper InputStream,其中包含您要读取的文件列表。在内部,您将根据需要打开/关闭流,即完全读取文件时。

这不是很明显,但不应该是困难的。这样你就可以只使用'一个InputStream用于所有文件。