如何打开文件进行写入?

How to open file for writing?

我正在尝试使用 Dart 的 IO 库打开和写入文件。

我有这个代码:

File file = File("text.txt");
RandomAccessFile raf = file.openSync();
raf.writeStringSync("A string!");

现在执行此操作时,我在控制台中收到以下错误:

(OS Error: Access is denied., errno = 5)

所以文件没有打开写入,我正在看这里:open method,不知道如何使用 openopenSync 来获取 RandomAccessFile 我可以写信给。

它说我需要使用 write constant 来做到这一点,但就是不知道如何做? 如果我尝试创建 FileMode 并将其作为参数添加到 open 方法中,我会收到一条错误消息:

Error: Too many positional arguments: 0 allowed, but 1 found.

所以openopenSync方法不能接受任何参数,如何使用FileModeopen方法打开一个准备好的文件写作?所以我需要得到处于写作模式的RandomAccessFile?默认情况下它仅处于读取模式?我没有尝试使用 writeStringwriteStringSync,我知道这些方法存在,但我感兴趣的是如何使用 openopenSync 方法完成 return RandomAccessFile!

更新:

您遇到此错误:

Error: Too many positional arguments: 0 allowed, but 1 found.

因为openSync方法没有位置参数,只有一个命名参数(mode)。 因此,要修复您的代码,您必须添加它:

RandomAccessFile raf = file.openSync(mode: FileMode.append); //Or whatever mode you'd to apply

话虽如此,还有其他几种写入文件的方法,其中大部分列在文档中:

(所有这些方法都有一个 FileMode mode 命名参数)