2012-06-12 68 views
1

我不確定這是否可以實現。Java:通過文件寫入OutputStream

我有有一個接受File功能的第三方庫:

String function(File file); 

此功能將簡單地從雲端下載一些內容,並寫入該文件。

現在,我有一個特殊的OutputStream,它在內部計算文件的MD5。數據通過流時,計算MD5。

由於我無法更改庫的簽名,是否仍然可以使用接受文件的函數,但是讓數據通過我的OutputStream

+1

由於你是調用這兩個方法的人,你不能訪問'file'對象嗎? – adarshr

回答

1

下載lib的源代碼,修改它並編譯JAR文件。 輸出流並不意味着這是一個文件。它可能是任何東西。

+0

你假設圖書館是開源的。 – aioobe

+0

是的,使用封閉源代碼庫來計算MD5校驗和毫無意義。 –

+0

該庫不會執行md5計算。重讀這個問題。 – aioobe

1

不以使用標準API的平臺獨立方式。

在* nix(也可能是windows)中,您可以創建一個LIFO文件,將其傳遞給庫函數,並可以自己讀取。

0

如果您無法訪問庫的源代碼,您別無選擇,只能在庫函數寫入該文件後纔讀取該文件。當然,提供的庫不提供寫入OutputStream而不是直接使用文件的功能。