是否有可能獲得FileInputStream
正在使用的File
? FileInputStream
似乎沒有任何檢索方法。獲取FileInputStream使用的文件
1
A
回答
1
有在FileInputStream
API沒有直接的方法,但如果你真的願意,你可以使用Java反射API來獲取path
(帶全路徑的實際文件名),如下圖所示:
FileInputStream fis = new FileInputStream(inputFile);
Field field = fis.getClass().getDeclaredField("path");
field.setAccessible(true);
String path = (String)field.get(fis);
System.out.println(path);
的path
變量(保存帶有路徑的文件名)在FileInputStream
類中聲明爲私有最終字段,我們使用上面顯示的反射代碼來獲取它。
P.S:需要注意的是,上述方法不能保證實現所有的JVM實現的結果,因爲它沒有在規範中定義。
相關問題
- 1. 使用FileInputStream讀取xml文件
- 2. 使用FileInputStream從文件中讀取文本
- 3. 使用FileInputStream麻煩複制大文件
- 4. 使用Java的FileInputStream
- 5. Android:FileNotFoundException使用FileInputStream
- 6. 使用FileInputStream讀取多個對象 - Java
- 7. FileInputStream未找到文件
- 8. 使用File對象初始化FileInputStream時獲取FileNotFoundException
- 9. Android的,使用的FileInputStream從SDC讀取文件,報告空指針錯誤
- 10. FileInputStream爲通用文件系統
- 11. 使用fileinputstream從文件中讀取字節以查找丟失的圖像
- 12. 的FileInputStream VS使用ClassPathResource VS的getResourceAsStream和文件完整性
- 13. 使用URL的Java fileinputstream
- 14. 的FileInputStream失敗的屬性文件
- 15. StreamSource的問題的FileInputStream VS文件
- 16. 在哪裏存儲FileInputStream中使用的文件
- 17. 如何使屬性文件可用於Scala腳本中的FileInputStream?
- 18. 如何在使用FileInputStream()創建的文件開始處尋找()
- 19. 的FileInputStream錯誤的Java:讀取文件錯誤
- 20. 如何設置FileInputStream的文件路徑?
- 21. 通過FileInputStream()執行excel文件的java.io.FileNotFoundException
- 22. 如何取消延遲的FileInputStream文件 - 打開
- 23. FileInputStream如何讀取html文件而不替換html的圖標
- 24. 使用FileInputStream/Cipher在Android中加密/解密數據庫文件
- 25. 如何使用FileInputStream打開* .cer文件--Android
- 26. FileInputStream沒有使用Java創建實際文件
- 27. 當我使用FileInputStream時FileNotFoundException
- 28. 使用FileReference獲取文件的nativePath
- 29. 獲取響應文件的使用ExtJS
- 30. 使用lsof的獲取文件名
你可以使用我的答案中顯示的反射,看看 – developer