File io 在eiffel中,如何在不删除其先前内容的情况下附加到文件末尾

File io 在eiffel中,如何在不删除其先前内容的情况下附加到文件末尾,file-io,eiffel,File Io,Eiffel,我正在用埃菲尔铁塔编程,每次我打开一个文件并开始写入它,它就会删除它的内容并开始写入它,就像它是一个空文件一样,有没有办法不删除以前的内容 下面是一个代码示例 local f: PLAIN_TEXT_FILE do create f.make_open_write("C://myName/desktop//myfile.txt") f.put_integer(3) 现在该文件将包含3,所有以前的数据都将丢失 在这种情况下,应使用创建过程使\u打开\u追加: create

我正在用埃菲尔铁塔编程,每次我打开一个文件并开始写入它,它就会删除它的内容并开始写入它,就像它是一个空文件一样,有没有办法不删除以前的内容

下面是一个代码示例

local
    f: PLAIN_TEXT_FILE
do
    create f.make_open_write("C://myName/desktop//myfile.txt")
    f.put_integer(3)

现在该文件将包含3,所有以前的数据都将丢失

在这种情况下,应使用创建过程
使\u打开\u追加

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)

调用'make_open_read_write'仍将收缩文件。要覆盖内容,您需要将文件映射到内存,这可以使用特定于平台的API来完成。