我尝试使用 InputStream 变量从 Assets 文件夹中打开 JSON 文件,但收到 FileNotFoundExeption。文件在那里并且路径是正确的。我已经到处看了,但是我在这里找到的任何东西都不起作用。关于我的错误以及如何纠正它的任何想法(请使用代码)??
从调用 Activity 中:
String uri = "file:///android_asset/html/json/regulatory_list.json";
args.putString("KEY_URL", uri);
在 fragment 中:
@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"));
. . .
}
. . .
最佳答案
我认为您的文件 uri 的格式不适合您想要执行的操作。
尝试改变这个:
String uri = "file:///android_asset/html/json/regulatory_list.json";
对此:
String uri = "html/json/regulatory_list.json";
关于来自 Assets 的 Android 输入流文件 : FileNotFoundExeption,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11092440/