我需要基於我使用的API來實現一個參數爲InputStream
的參數(實例爲FileInputStream
),該參數將調用帶有File
參數的方法。我該如何檢索FileInputStream的原始文件
implementedMethod(InputStream is){
FileInputStream fis = (FileInputStream)is; //always works
File f = (???) ????(???).???;
calledMethod(f);
}
那麼,如何提供File
當所有我已經是一個FileInputStream
?我不明白什麼是FileChannel
或FileDescriptor
(均在FIS
)是什麼,他們是如何工作的。
我猜這不能完成,我將不得不在文件系統上寫一個(臨時)文件。如果沒有,如果我可以在內存中創建我的文件,而不是FileChannel或FileDescriptor,或者甚至使用RandomAccessFile
(?)我想知道如何...
是否構建可讀的File
對象需要它存在於磁盤上的某個地方?我發現這個奇怪的...
爲什麼你要想做的事是什麼?這就像是從子類中調用超類,這是不好的做法。也許你沒有正確模塊化你的問題? – Flavius
如果您期望FileInputStream,爲什麼不將形式參數類型更改爲'FileInputStream'。如果你需要一個'File'來改變它自己的文件和構造流。 –