2016-09-29 74 views
0

據我瞭解,Java的java.io.FileOutputStream不會將File對象保留在其中的任何位置。我有一個用例,我希望獲得有關我寫入文件的信息,並且我希望這種方法能夠接收到OutputStream(因此,在基於instanceof的測試之後,這個想法是宕機的)。保存文件的Java FileOutputStream?

顯然我可以編寫一個適配器,但我不知道在知名庫上是否有這樣的東西(不能找到它不是Apache Commons或Guava)。

回答

0

爲什麼不能使用以File作爲參數的構造函數實例化FileOutputStream?然後你會有文件句柄。

+0

生成的FileOutputStream有一個FileDescriptor句柄,但它不包含有關原始文件路徑的任何信息。 – zakmck

0

沒有公共方法從流中返回File對象。如果你想知道你在哪裏寫作 - 只需發送File對象給你的構造函數,然後用FileOutputStream打開它。

+0

我不行。我需要繼承一個接收OutputStream並從外部調用的方法。該文件沒有保存在FileOutputStream足夠清楚,我問的是,如果有一個衆所周知的FileOutputStream實現的子類實際上這樣做。 – zakmck

+0

你有控制創建輸出流的代碼嗎? –

+0

不,並沒有關係,因爲我想通過OutputStream類型的參數將文件傳遞給接收方。 – zakmck