我在res
中创建了一个raw
Android资源目录,并在其中添加了cars.json
。它显示在我的包浏览器上。当我尝试调用Android Studio无法找到我的JSON文件
File file = new File("raw/cars.json")
我得到一个FileNotFoundException异常。我试过简单地使用cars.json,甚至整个文件的路径,但我得到了相同的结果。
有什么建议吗?
我在res
中创建了一个raw
Android资源目录,并在其中添加了cars.json
。它显示在我的包浏览器上。当我尝试调用Android Studio无法找到我的JSON文件
File file = new File("raw/cars.json")
我得到一个FileNotFoundException异常。我试过简单地使用cars.json,甚至整个文件的路径,但我得到了相同的结果。
有什么建议吗?
要从原始目录获取资源,请致电getResources().openRawResource(resourceName)
。
这会给你一个InputStream
嗨, 我用的InputStream这个session.Dontwork你的。
InputStream myInput=getResources().openRawResource(R.raw.your_json);
然后你可以使用任何where.it就是这么简单
您可以直接使用此功能:
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”))
玩具尝试使用'File file = new File(“android.resource://”+ getPackageName()+“/raw/equipment.json” );' –
如果你的文件名为cars.json,你为什么要加载equipment.json?这是一个错字吗? – Ben
尝试。 –