在写入新内容之前清理Ruby文件

5
请问有没有办法在Ruby中,在写入新信息之前,清除文件中现有的所有内容?我正在使用以下代码将文件内容写入:
logfile = File.new(filepath, "w")
logfile.write("my content")

然而,在我写入新信息之前,我希望删除此“日志文件”中的所有现有内容。我该如何做到这一点?


6
"w" 应该可以起作用。根据 IO 对象 的记录,"w" 表示“只写入模式,将现有文件截断为零长度或创建一个新文件进行写入”。您能确保您想要的操作不是已经发生了,或者通过说明为什么您认为文件中现有的内容没有被删除来澄清您的问题吗? - carols10cents
1
这里是一个代码片段,我使用irb来展示"w"命令可以删除文件中之前的所有文本:https://gist.github.com/4411135 - carols10cents
1个回答

12
在以写入模式即使用 "w" 选项打开文件时,所有先前的内容都将被删除,因此您不必采取任何措施来实现该效果。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接