JSON 檔置於 assets/ 使用 getAssets().open("filename"),置於 res/raw/ 使用 getResources().openRawResource(R.raw.filename)。
InputStream is = getAssets().open("data.json");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) sb.append(line);
String json = sb.toString();
InputStream is = getResources().openRawResource(R.raw.data);
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
// 同樣讀取...
| 特性 | assets | res/raw |
|---|---|---|
| 檔名限制 | 任意名稱、支援子目錄 | 僅小寫字母、數字、底線、無子目錄 |
| 資源 ID | 無(字串路徑) | 自動生成 R.raw.xxx |
| 打包方式 | 原始檔案 | 編譯進資源表 |
| 適用場景 | 大型、結構化、需目錄組織 | 小型、簡單、需資源 ID 參考 |
JSON 等靜態資料推薦放 assets/,便於維護目錄結構與檔名。