rename 抽象方法

Future<File> rename(
  1. String newPath
)
override

重命名此文件。

返回一个完成时带有重命名文件 FileFuture<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);