assets资源目录一般用于存放html文件、数据库文件、javascript文件,assets目录下的文件不会在R.java自动生成ID,所以读取assets目录下的文件必须指定文件的路径在代码中使用AssertManager获取文件的输入流读取
AssetManager assetManager = context.getAssets();
try {
InputStream is = assetManager.open("json.data");
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuffer stringBuffer = new StringBuffer();
String str = null;
while((str = br.readLine())!=null){
stringBuffer.append(str);
}
} catch (IOException e) {
e.printStackTrace();
}
也可以把json文件放在res的raw目录下res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;但是需要注意的是assets允许有目录结构,而raw不行读取方法大同小异try {
InputStream is = getResources().openRawResource(R.id.file);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuffer stringBuffer = new StringBuffer();
String str = null;
while((str = br.readLine())!=null){
stringBuffer.append(str);
}
} catch (IOException e) {
e.printStackTrace();
}