我将移动某些文件。如何将图像文件从目录移动到另一个目录, 示例文件img.jpg从/ storage / emulated / 0 / Myfolder到/ storage / emulated / 0 / Urfolder?
答案 0 :(得分:1)
File.rename
仅在源文件和目标路径在同一文件系统上时才有效,否则您将得到FileSystemException
( OS错误:跨设备链接,errno = 18 )。因此,只有在确保源文件和目标路径在同一文件系统上时,才应将其用于移动文件。
例如,当尝试将文件夹 / storage / emulated / 0 / Android / data / 下的文件移动到文件夹 / data / user / 0 / com下的新路径时.my.app / cache / 将无法FileSystemException
。
这是一个用于安全移动文件的小实用程序功能:
Future<File> moveFile(File sourceFile, String newPath) async {
try {
// prefer using rename as it is probably faster
return await sourceFile.rename(newPath);
} on FileSystemException catch (e) {
// if rename fails, copy the source file and then delete it
final newFile = await sourceFile.copy(newPath);
await sourceFile.delete();
return newFile;
}
}
答案 1 :(得分:0)
await File('/storage/emulated/0/Myfolder').rename('/storage/emulated/0/Urfolder')