![](/img/trans.png)
[英]Is there an easy way to create a Java InputStream that consists of several appended files?
[英]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.