2016-09-29 187 views
-1

我在res中创建了一个raw Android资源目录,并在其中添加了cars.json。它显示在我的包浏览器上。当我尝试调用Android Studio无法找到我的JSON文件

File file = new File("raw/cars.json") 

我得到一个FileNotFoundException异常。我试过简单地使用cars.json,甚至整个文件的路径,但我得到了相同的结果。

有什么建议吗?

+0

玩具尝试使用'File file = new File(“android.resource://”+ getPackageName()+“/raw/equipment.json” );' –

+0

如果你的文件名为cars.json,你为什么要加载equipment.json?这是一个错字吗? – Ben

+0

尝试。 –

回答

3

要从原始目录获取资源,请致电getResources().openRawResource(resourceName)

这会给你一个InputStream

-1

嗨, 我用的InputStream这个session.Dontwork你的。

InputStream myInput=getResources().openRawResource(R.raw.your_json); 

然后你可以使用任何where.it就是这么简单

1

您可以直接使用此功能:

private String getJsonStringFromRaw(filenmae) 
{ 
    String jsonString = null; 
    try { 
     InputStream inputStream= getAssets().open(filename); 
     int size = inputStream.available(); 
     byte[] buffer= new byte[size]; 
     inputStream.read(buffer); 
     inputStream.close(); 
     jsonString = new String(buffer, "UTF-8"); } 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
     return null; 
    } 
    return jsonString; 
} 

您可以通过访问迭代JSON数据下面的json对象。 JSONObject obj = new JSONObject(getJsonStringFronRaw(“cars.json”))

相关问题