我正在尝试使用“ dart”的RandomAccessFile类替换文件内的内容。
我的文件内容是:Hello user World
我的飞镖代码是:
import 'dart:io';
main() async{
File file = File("test/testraf.txt");
RandomAccessFile raf = await file.open(mode: FileMode.writeOnly);
var f1 = await raf.setPosition(7);
f1.writeString("John");
f1.close();
}
我正在尝试将用户替换为 John 。
但是上面的代码破坏了我的文件,并且没有完成预期的工作。
这就是我打算做的:Hello John World
如何使用随机写入替换文件内的内容?
有可能,我的要求是替换文件内任意位置的数据,而不创建文件的另一个副本?
答案 0 :(得分:0)
好的,伙计们,问题在于文件模式必须是:FileMode.writeOnlyAppend
。
工作代码为:
import 'dart:io';
main() async{
//File content: Hello user World
File file = File("test/testraf.txt");
RandomAccessFile raf = await file.open(mode: FileMode.writeOnlyAppend);
var f1 = await raf.setPosition(6);
await f1.writeString("John");
await f1.close();
}
因此它将输出:Hello John World