我正在用 eiffel 编程,每次我打开一个文件并开始写入它时,它都会删除它的内容并开始写入它,就像它是一个空文件一样,有没有办法在不删除以前的内容的情况下做到这一点?
这是一个代码示例
local
f: PLAIN_TEXT_FILE
do
create f.make_open_write("C://myName/desktop//myfile.txt")
f.put_integer(3)
现在文件将包含 3 并且所有以前的数据都将丢失!
make_open_append
在这种情况下应使用创建过程:
create f.make_open_append ("C:/myName/desktop/myfile.txt")
f.put_integer(3)
如果要在文件末尾附加文本,请像这样使用 make_open_append:
f.make_open_append("C://myName/desktop//myfile.txt")
如果您想从文件的开头重写(例如在您的示例中,将文件的第一个字符替换为 3),您可以在读写模式下打开并像这样写入:
f.make_open_read_write("C://myName/desktop//myfile.txt")
f.put_integer(3)