繁体   English   中英

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

[英]How to create an InputStream of files that have a certain extension in Java?

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

确实感觉应该对此有一个明显的答案,但是我没有运气找到它。

您可能需要看一下SequenceInputStream

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

对我来说,“显而易见的答案”是:

只需使用适当的过滤器遍历目录中的所有文件即可 为每个文件创建一个FileInputStream ,将其读取并关闭。

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

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

这并不明显,但应该不难。 这样,您可以“仅”对所有文件使用一个InputStream。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM