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

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

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

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

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

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

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

评论(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;
        }
    }
灵芸 2017-10-11 1 楼

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