![](/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.