可能是一个简单的问题,但我需要删除特定行号后的文件内容?所以我不想保留第一行,例如5行,并删除文件的其余内容.我一直在寻找并找不到办法,我是iOS开发人员,因此Ruby不是我非常熟悉的语言.
这叫做截断.truncate方法需要字节位置,之后所有内容都会被截断 - 并且File.pos方法只提供:
File.open("test.csv", "r+") do |f|
f.each_line.take(5)
f.truncate( f.pos )
end
Run Code Online (Sandbox Code Playgroud)
File.open中的"r +"模式是读写的,不会将现有文件截断为零大小,如"w +".
File.open的块形式确保在块结束时关闭文件.