2013-10-29 87 views
2

打開的FileInputStream我試圖用無法從資產

new FileInputStream("file:///android_asset/file.html"); 

打開從資產文件作爲FileInputStream但它總是拋出一個FileNotFoundException,甚至認爲該文件那裏。

我知道我可以使用getAssets()等資源打開文件(這對同一個文件有效),但不應該使用這種方法嗎?

PS。我已經設置了我的應用程序以請求訪問文件的權限。

回答

3

資產相對於您的應用程序位置存儲,這就是爲什麼絕對路徑不起作用。您需要使用AssetManager根據需要檢索InputStream到您的資產。 getAssets()應該可以正常工作。

+1

但我確實還記得使用該URI模式訪問資產。或者我錯了? – MichelReap

+0

我不能評論,不知道在什麼條件下你可以做到,但我會建議堅持正式支持的方式來避免錯誤等。 –

+0

會這樣做,感謝您的幫助。 – MichelReap