来自 Assets 的 Android 输入流文件 : FileNotFoundExeption

标签 android string variables inputstream android-assets

我尝试使用 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/

相关文章:

android - 如何在 Android 中设置 String[] 的 TextView ?

android - 如何以编程方式更改选定的导航项

java - 在 Android M 中获取经纬度 0.0

Java如何正确获取List<Object>数据

python - 如何在 Python 中格式化字符串,使其在执行时产生有效的 if .. then .. else 语句?

c++ - 数据文件的 ld 使数据大小成为 *ABS* 而不是整数

javascript - 如何在 JavaScript 中创建全局变量?

java - Android 字符串 utf-8 在布局中有效,但在 java 代码中无效

c++ - Visual C++ 和超长字符串

javascript - 用 || 声明变量