rename 抽象方法
- String newPath
override
重命名此文件。
返回一个完成时带有重命名文件 File
的 Future<File>
。
如果 newPath
是相对路径,它将对当前工作目录(Directory.current)进行解析。这意味着仅仅更改文件名,但保持原始目录,需要创建一个新的完整路径,新名放在路径末尾。示例
Future<File> changeFileNameOnly(File file, String newFileName) {
var path = file.path;
var lastSeparator = path.lastIndexOf(Platform.pathSeparator);
var newPath = path.substring(0, lastSeparator + 1) + newFileName;
return file.rename(newPath);
}
在有些平台上,重命名操作不能在不同文件系统之间移动文件。如果是这种情况,则将文件复制到新位置,然后删除原始文件。
如果 newPath
指定了一个已存在的文件或链接,则首先删除该实体。如果 newPath
指定了一个已存在的目录,那么操作会失败,并使用一个完成 FileSystemException 的 future。
实现
Future<File> rename(String newPath);