【问题标题】:Flutter delete Directory fileFlutter 删除目录文件
【发布时间】:2018-09-28 08:52:11
【问题描述】:

我想删除Directory 中的文件。 它是这样创建的。

final Directory extDir = await getTemporaryDirectory();
final String dirPath = '${extDir.path}/video';
await new Directory(dirPath).create(recursive: true);
final String filePath = '$dirPath/${timestamp()}.mp4';

我想删除这个特定的路径,这样应用就不会很重。 我该怎么做?
有人有想法吗?

【问题讨论】:

标签: dart flutter


【解决方案1】:

您无需移动到目录。您将路径传递给Directory 构造函数:

import 'dart:io';

void main() {
    final dir = Directory(dirPath);
    dir.deleteSync(recursive: true);
}

【讨论】:

  • 据我了解,这种方法会导致删除整个目录。而 FileSystemEntry.delete 或 File.delete 包括将文件读入内存。因为在实例化 File 对象时,我们正在获取具有读取文件内容的对象,我们将其作为参数发送给构造函数。有什么办法可以直接删除文件而不先读到内存?
  • 只有文件路径由创建的 File、Directory 或 FileSystemEntry 实例保存。没有明确的读取命令,不会将任何内容读入内存。
  • dir.deleteSync(recursive: true); 是否也删除 ios 文件? @GünterZöchbauer
  • 不确定您对 ios 文件的含义。没有不同类型的文件。无论如何,Flutter 将文件删除委托给操作系统。不会有任何 Flutter 特定的行为。
猜你喜欢
  • 2020-05-25
  • 1970-01-01
  • 2011-03-27
  • 2011-01-06
  • 1970-01-01
  • 1970-01-01
  • 2013-07-31
  • 2013-05-30
  • 2023-04-03
相关资源
最近更新 更多