我有一個InputStream被設置爲處理本地文件,但希望添加在以後通過網絡從文件中讀取文件的功能。我認爲InputStream已經適應了這一點。Java:InputStream約定數據可用性,關閉狀態等
我遇到的問題是,顯然InputStream並不保證在任何給定的時間都有數據可用,並且數據可能會在稍後變得可用。不知道我是否正確理解。沒有辦法確定可用數據的絕對大小(如字節數),或者即使InputStream已關閉。似乎如果有一個文件那裏,它必須有一些可用。處理InputStream的方法可能會從中讀取,如果沒有數據可用,則沒有任何理由保留它。更糟的是我什至不知道是否有任何可用的數據。
所以我的問題是,對於通過網絡或本地進行讀取的文件,我如何確定它是否打開/關閉,並且可能確定另一端的文件大小?爲什麼這個班級如此光榮?
我明白這裏的客戶端/服務器動態數據流功能,但對於通過網絡處理文件,這不是處理該數據的好方法 –