取消编写文件,然后附加字符串

时间:2012-11-04 04:50:35

标签: ruby file chomp

我有一个路径名为file的文本文件,以及我要附加到其中的一些内容string。我想做一些接近

的事情
File.open(file, "a"){|io| io.puts(string)}

但是如果文件的原始内容没有以结束字符$/结尾,我想在string之前插入一个。最有效的方法是什么?

2 个答案:

答案 0 :(得分:1)

File.open(file, 'r+') do |f|
  unless (last = f.readlines[-1]) && last.end_with?($/)
    f.puts $/
  end

  f.puts string
end

答案 1 :(得分:-2)

File.open(file, "a"){ |io| 
   io.puts
   io.puts(string)
}