如何删除Ruby中的最后一行文件?

Jav*_*med 7 ruby file

我正在访问一个文件,在我追加它之前,我想从文件中删除最后一行.在Ruby中有没有有效的方法呢?

这是我用来访问文件的内容:

file = File.new("imcs2.xml", "a")
Run Code Online (Sandbox Code Playgroud)

Jor*_*eña 6

我不打算猜测你想要做什么,但是如果你试图摆脱XML文件中根元素的结束标记,以便你可以添加更多的子标记,那么重新添加关闭的根标签,我会想象那里有ruby模块,可以帮助编写/编辑XML.只是在说.

也许Builder:

hpricot似乎也有效:


Pes*_*sto 4

假设您要删除文件的整个最后一行,您可以使用此方法找到最后一行的开头并从那里开始写入:

last_line = 0
file = File.open(filename, 'r+')
file.each {  last_line = file.pos unless file.eof? }

file.seek(last_line, IO::SEEK_SET)
#Write your own stuff here
file.close
Run Code Online (Sandbox Code Playgroud)