来自资产的Android InputStream文件:FileNotFoundExeption

时间:2012-06-18 23:22:09

标签: android string variables inputstream android-assets

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

1 个答案:

答案 0 :(得分:2)

我认为您的文件uri格式不正确,无法正常运行。

尝试改变这一点:

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

到此:

String uri = "html/json/regulatory_list.json";