我想要更改文件的修改日期和时间。
我如何在Dart平台上做到这一点?
.NET Framework的示例,C#语言。
File.SetLastWriteTime(path, DateTime.Now);
我确定这是可能的。
我只是不知道如何在Dart这样一个奇妙的平台上以标准的方式做到这一点。
Dart
是不可能的答案 0 :(得分:2)
首先想到的方法是使用touch
来调用Process
。
例如
import 'dart:io';
Future touchFile(File f) {
return Process.run("touch", [f.path]);
}
void main() {
var f = new File('example');
print(f.statSync().changed);
touchFile(f).then((_) {
print(f.statSync().changed);
});
}
链接到Windows的人的等效代码将是
Future touchFile(File f) {
return Process.run("copy", ["\b", f.path, "+,,"]);
}
答案 1 :(得分:0)
调用系统进程似乎是一个严重的问题。这是一个仅使用 Dart API 且不依赖于平台的函数。
void touchFile(File file) {
final touchfile = file.openSync(mode: FileMode.append);
touchfile.flushSync();
touchfile.closeSync();
}
这将更新上次修改时间。