在 Android 中移动目录最快的方法是什么?在大多数情况下(但并非所有情况),源和目标位于同一 SD 卡文件系统上。
目前,我的代码遍历整个目录结构,并将每个文件的内容复制到新位置的同名新文件中。然后它会验证文件大小是否匹配,然后删除源文件。
对于每个文件,我当前运行(带有额外的异常处理):
try{
source = new FileInputStream(fileFrom).getChannel();
destination = new FileOutputStream(fileTo).getChannel();
destination.transferFrom(source, 0, source.size());
} finally {
source.close();
destination.close();
}
这似乎很慢,而且需要大量计算工作,因为我期望可能是原始文件系统级别的简单即时“节点修改”。
只要文件位于同一文件系统上,您实际上就可以移动它们文件#重命名为(文件) http://developer.android.com/reference/java/io/File.html#renameTo%28java.io.File%29.
if (!fileFrom.renameTo(fileTo)) {
copy(fileFrom, fileTo);
// delete(fileFrom);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)