我正在从互联网下载文件并将流数据保存到我的应用程序内部存储中的临时文件中获取文件目录() http://developer.android.com/reference/android/content/Context.html#getFilesDir().
下载完成后,我需要将临时文件移动到外部存储器(通常是 SD 卡)上的下载目录。但出于某种原因,File.renameTo() 不适用于此。我猜测存在问题,因为它是两个独立的文件系统,但我仍然可以直接下载到 SD 卡,并且文件 URI 是正确的。
是否有另一种简单快捷的方法将该文件从内部存储器传输到外部存储器,或者我是否必须进行字节流复制并删除原始文件?
使用以下代码将文件从内存复制到 SD 卡,反之亦然:
public static void copyFile(File src, File dst) throws IOException
{
FileChannel inChannel = new FileInputStream(src).getChannel();
FileChannel outChannel = new FileOutputStream(dst).getChannel();
try
{
inChannel.transferTo(0, inChannel.size(), outChannel);
}
finally
{
if (inChannel != null)
inChannel.close();
if (outChannel != null)
outChannel.close();
}
}
而且 - 它有效...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)