【问题标题】:unable access assets file android无法访问资产文件android
【发布时间】:2016-06-18 20:14:28
【问题描述】:

您好,我正在开发包含 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();
        return;
    }
    else
    {
        Toast.makeText(this, "it's there", Toast.LENGTH_SHORT).show();
    }

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

【问题讨论】:

    标签: android pdf assets


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      例如,从assets文件夹加载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;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-13
        • 2013-08-21
        • 1970-01-01
        • 1970-01-01
        • 2017-12-11
        相关资源
        最近更新 更多