2

我正在尝试使用 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"));
            . . .
        }
    . . .
4

1 回答 1

2

我认为您的文件 uri 的格式不适合您尝试执行的操作。

尝试改变这个:

String uri = "file:///android_asset/html/json/regulatory_list.json";

对此:

String uri = "html/json/regulatory_list.json";
于 2012-06-18T23:51:33.140 回答