Android-如何将assets中的文件拷贝到sdcard中?

服务器管理 服务器管理 主题:1035 回复:2217

Android-如何将assets中的文件拷贝到sdcard中?

甜柠檬 发布于 2017-02-27 字数 134 浏览 1199 回复 2

在assets中存在一些初始化文件,在用户安装后,我想把这些文件拷贝到sd卡中,便于程序读写。

不知道可不可这么实现,如何实现?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

虐人心 2017-10-23 2 楼

不知道是不是我理解错了,
普通的基于字节流的fileCopy不就能实现吗?
最近修改:
assets文件流的获取从AssetManager的open获得

copyFile( YOUR_FILE_NAME, dest);
public boolean copyFile(String from, String to) {

    try {
        int bytesum = 0;
        int byteread = 0;
        File oldfile = new File(from);
        //TODO:add storege check.
        if (oldfile.exists()) {
            InputStream inStream = getResources().getAssets().open(from);
            OutputStream fs = new BufferedOutputStream(new FileOutputStream(
                    to));
            byte[] buffer = new byte[8192];
            while ((byteread = inStream.read(buffer)) != -1) {
                bytesum += byteread;
                fs.write(buffer, 0, byteread);
            }
            inStream.close();
            fs.close();
        }
        return true;
    } catch (Exception e) {
        return false;
    }
}</pre>
灵芸 2017-10-11 1 楼

用AssetManager assets = getAssets()获得assets对象,然后通过InputStream input=assets.open("filename")获得数据流,然后把这个数据流导入到sd卡。