访问assets中文件各种文件的方法

来源:互联网 发布:微信广告植入系统源码 编辑:程序博客网 时间:2024/06/10 05:31

读取普通文件

   AssetManager assetManager = context.getResources().getAssets();   InputStream inputStream = assetManager.open("assets://data.json");

webview访问html文件

   AssetManager assetManager = context.getResources().getAssets();   InputStream inputStream = assetManager.open("file:///android_asset/test/page.html");

读取文件夹中的文件

   AssetManager assetManager = context.getResources().getAssets();   //不需要加“assets”,注意!!   InputStream inputStream = assetManager.open("abc/yan.txt");

遍历assets文件并写到sd卡

private void loadAssetsDirectory(String dir) {        final String directory = dir;        //过滤文件夹        if (mUnavailableDir.contains(directory)) {            return;        }        try {            String[] fileList = mAssetManager.list(directory);            for (String file : fileList) {                String target;                if (TextUtils.isEmpty(directory)) {                    //如果是根目录,不加分隔符,否则"/companies/..."这种读不出来                    target = file;                } else {                    //如果不是根目录,则加分隔符                    target = directory + "/" + file;                }                //如果读到的是目录,则递归遍历                if (!file.contains(".")) {                    //递归遍历                    loadAssetsDirectory(target);                } else {                    //如果是文件,则写到sd卡                    InputStream inputStream = mAssetManager.open(target);                    //写文件                }            }        } catch (IOException e) {            e.printStackTrace();            mLoadSuccessed = false;        }    }
0 0
原创粉丝点击