簡體   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