如何按名稱從res / raw讀取文件我想從res / raw /文件夾中打開一個(gè)文件。我絕對相信文件存在。要打開我試過的文件File ddd = new File("res/raw/example.png");命令ddd.exists();收益率為假。所以這種方法不起作用。試MyContext.getAssets().open("example.png");以getMessage()“null”結(jié)束異常。簡單地使用R.raw.example因?yàn)槲募麅H在運(yùn)行時(shí)作為字符串被識(shí)別,所以是不可能的。為什么訪問文件夾/ res / raw /中的文件如此困難?
3 回答

侃侃爾雅
TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
在給定鏈接的幫助下,我能夠自己解決問題。正確的方法是獲取資源ID
getResources().getIdentifier("FILENAME_WITHOUT_EXTENSION", "raw", getPackageName());
將其作為InputStream
InputStream ins = getResources().openRawResource( getResources().getIdentifier("FILENAME_WITHOUT_EXTENSION", "raw", getPackageName()));

LEATH
TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用原始/ res讀取文件getResources().openRawResource(R.raw.myfilename)
。
但是有一個(gè)IDE限制,您使用的文件名只能包含小寫字母數(shù)字字符和點(diǎn)。所以文件名喜歡XYZ.txt
或my_data.bin
不會(huì)在R中列出。
- 3 回答
- 0 關(guān)注
- 506 瀏覽
添加回答
舉報(bào)
0/150
提交
取消