我需要将文件从用户 sdcard 上的一个位置移动到 sdcard 上的另一个位置
目前我正在使用 File.renameTo
例如从 sdcard/test/one.txt 到 sdcard/test2/two.txt
一些用户报告文件移动功能不起作用。
我遇到了下面的链接:
那么将文件从 SD 卡上的一个目录移动到另一个目录的最佳方法是什么?
小智 2
尝试使用这些代码进行复制并检查文件并删除原始文件。
private void backup(File sourceFile)
{
FileInputStream fis = null;
FileOutputStream fos = null;
FileChannel in = null;
FileChannel out = null;
try
{
File backupFile = new File(backupDirectory.getAbsolutePath() + seprator + sourceFile.getName());
backupFile.createNewFile();
fis = new FileInputStream(sourceFile);
fos = new FileOutputStream(backupFile);
in = fis.getChannel();
out = fos.getChannel();
long size = in.size();
in.transferTo(0, size, out);
}
catch (Throwable e)
{
e.printStackTrace();
}
finally
{
try
{
if (fis != null)
fis.close();
}
catch (Throwable ignore)
{}
try
{
if (fos != null)
fos.close();
}
catch (Throwable ignore)
{}
try
{
if (in != null && in.isOpen())
in.close();
}
catch (Throwable ignore)
{}
try
{
if (out != null && out.isOpen())
out.close();
}
catch (Throwable ignore)
{}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6380 次 |
| 最近记录: |