我正在尝试使用InputStream变量从assets文件夹中打开一个JSON文件,但我得到了FileNotFoundExeption。文件在那里,路径是正确的。我看起来已经全面了但是我在这里找到的任何东西都不起作用。我有什么错误的想法以及如何纠正它(请带代码)??
在通话活动中:
String uri = "file:///android_asset/html/json/regulatory_list.json";
args.putString("KEY_URL", uri);
在片段中:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Bundle args = this.getArguments();
String URL = args.getString(KEY_URL);
new GetJSONTask().execute(URL);
}
class GetJSONTask extends AsyncTask<String, Integer, String> {
protected String doInBackground(String... arg0) {
String uri = arg0[0];
InputStream is = null;
if (uri.contains("http") == true) {// Run from URL
try {. . .
} else {
try {. . .
InputStream jsonFile = getActivity().getAssets().open(uri);
Reader reader = new BufferedReader(new InputStreamReader(jsonFile, "UTF-8"));
. . .
}
. . .
答案 0 :(得分:2)
我认为您的文件uri格式不正确,无法正常运行。
尝试改变这一点:
String uri = "file:///android_asset/html/json/regulatory_list.json";
到此:
String uri = "html/json/regulatory_list.json";