Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法访问资产文件_Android_Pdf_Assets - Fatal编程技术网

Android 无法访问资产文件

Android 无法访问资产文件,android,pdf,assets,Android,Pdf,Assets,嗨,我正在开发android应用程序,我在其中有资产文件夹。在资产文件夹中,我已经放置了abc.pdf。但当我试图访问该文件时,它显示该文件不存在。我用下面的方法试过了 File pdfFile = new File("file:///android_asset/"+ "abc.pdf"); if(!pdfFile.exists()){ Toast.makeText(this, "not there", Toast.LENGTH_SHORT).show();

嗨,我正在开发android应用程序,我在其中有资产文件夹。在资产文件夹中,我已经放置了abc.pdf。但当我试图访问该文件时,它显示该文件不存在。我用下面的方法试过了

 File pdfFile = new File("file:///android_asset/"+ "abc.pdf");
    if(!pdfFile.exists()){
        Toast.makeText(this, "not there", Toast.LENGTH_SHORT).show();
        return;
    }
    else
    {
        Toast.makeText(this, "it's there", Toast.LENGTH_SHORT).show();
    }

我做错什么了吗?我需要一些帮助。谢谢。

资产只是开发机器上的一个文件。它不是设备上的文件。不能使用
文件
引用它


使用
AssetManager
open()
获取资产上的
InputStream
。您可以通过在任何
上下文
资源
对象上调用
getAssets()
来获取
AssetManager

资产只是开发机器上的一个文件。它不是设备上的文件。不能使用
文件
引用它


使用
AssetManager
open()
获取资产上的
InputStream
。您可以通过对任何
上下文
资源
对象调用
getAssets()
来获取
AssetManager

例如,从资产文件夹加载json文件:

private String loadJSONFromAsset(Context context) {
    String json;
    try {
        AssetManager assetManager = context.getAssets();
        InputStream inputStream = assetManager.open("model.json");
        StringWriter writer = new StringWriter();
        IOUtils.copy(inputStream, writer, "UTF-8");
        json = writer.toString();
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
    return json;
}

例如,从资产文件夹加载json文件:

private String loadJSONFromAsset(Context context) {
    String json;
    try {
        AssetManager assetManager = context.getAssets();
        InputStream inputStream = assetManager.open("model.json");
        StringWriter writer = new StringWriter();
        IOUtils.copy(inputStream, writer, "UTF-8");
        json = writer.toString();
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
    return json;
}