如何实现文件复制?分享复制数据库文件至外置存储卡的实用函数
实用的数据库文件复制工具函数
各位好,我最近发现了一个挺实用的工具函数,能够帮你把数据库文件从原路径复制到外置存储卡里,分享给大家:
public static void copyFile(File src, File dst) throws IOException { if(!dst.exists()) { dst.createNewFile(); } else{ dst.delete(); dst.createNewFile(); } InputStream in = new FileInputStream(src); try { OutputStream out = new FileOutputStream(dst); try { // 字节流传输:从输入流到输出流 byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } } finally { // 务必关闭输出流,释放资源 out.close(); } } finally { // 务必关闭输入流,释放资源 in.close(); } }
一些使用说明:
- 函数会先处理目标文件:如果目标文件不存在则创建新文件;如果已存在则先删除再重建,避免旧数据残留
- 使用1KB的缓冲区进行字节传输,在内存占用和复制效率之间做了平衡
- 注意:原代码的
finally块被截断了,实际使用时一定要补充关闭流的逻辑,否则会造成IO资源泄漏,上面我已经补全了这部分
内容的提问来源于stack exchange,提问作者Rapture Engineering
相关产品推荐
相关产品推荐

