rename 抽象方法
- String newPath
override
重命名此文件。
返回一个 Future<File>
,当重命名完成后,将返回一个指向重命名文件的 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<File> rename(String newPath);