获取assets目录下文件的路径

关于这个问题网上很多回答都是转自下面的内容
这里写图片描述

第二种方法看代码就知道不靠谱,第一种方法感觉在后面就是不适用了。
下面是我自己做的路径获取代码:

File image = getFileStreamPath("image.jpg");
        File second = getFileStreamPath("second.jpg");
        Log.i(TAG, "onCreate: =path=" + image.getAbsolutePath());
        Log.i(TAG, "onCreate: =paht="+second.getAbsolutePath());
        File absoluteFile = image.getAbsoluteFile();
        if (absoluteFile.exists()) {
            Log.i(TAG, "onCreate: =文件存在=");
        } else {
            Log.i(TAG, "onCreate: =文件不存在=");
        }

运行之后效果如下:
打印出来的log:
11-15 20:09:45.770 26473-26473/? I/=minwenping=: onCreate: =path=/data/user/0/com.example.administrator.hotfixdemo/files/image.jpg
11-15 20:09:45.770 26473-26473/? I/=minwenping=: onCreate: =paht=/data/user/0/com.example.administrator.hotfixdemo/files/second.jpg
11-15 20:09:45.770 26473-26473/? I/=minwenping=: onCreate: =文件存在=

这里写图片描述


本来是系统从assetManager这个类中获取路径,结果返回的是目录下文件名,从源码注释中看出,这个方法容易鱼目混珠,只是返回文件名,路径让我们自己去拼接

   AssetManager assets = getResources().getAssets();
        try {
            String[] contents = assets.list("content");
            Log.i(TAG, "onCreate: =assets content下面文件="+contents[0]);
        } catch (IOException e) {
            e.printStackTrace();
        }
/**
     * Return a String array of all the assets at the given path.
     * 
     * @param path A relative path within the assets, i.e., "docs/home.html".
     * 
     * @return String[] Array of strings, one for each asset.  These file
     *         names are relative to 'path'.  You can open the file by
     *         concatenating 'path' and a name in the returned string (via
     *         File) and passing that to open().
     * 
     * @see #open
     */
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值