gpt4 book ai didi

ruby-on-rails - 如何将字符串插入文本文件

转载 作者:数据小太阳 更新时间:2023-10-29 06:43:19 26 4
gpt4 key购买 nike

我有一个配置文件,我想在其中添加一个字符串,例如像那样:

line1
line2
line3
line4

新字符串不应该被追加,而是写在文件中间的某个地方。因此,我在文件中寻找特定位置(或字符串),找到后,我插入新字符串:

file = File.open(path,"r+")
while (!file.eof?)
line = file.readline
if (line.downcase.starts_with?("line1"))
file.write("Some nice little sentence")
end
end

问题是 Ruby 用新文本覆盖了那个位置的行,所以结果如下:

line1
Some nice little sentence
line3
line4

我想要的是“真正的”插入:

line1
Some nice little sentence
line2
line3
line4

如何实现?

最佳答案

如果它是一个小文件,我认为最简单的方法是:

  • 阅读完整的文件。
  • 插入行。
  • 编写新文件。

就是这样Rails does it在幕后。

或者你可以逐行复制然后用mv覆盖原来的,像这样:

require 'fileutils'

tempfile=File.open("file.tmp", 'w')
f=File.new("file.txt")
f.each do |line|
tempfile<<line
if line.downcase=~/^line2/
tempfile << "Some nice little sentence\n"
end
end
f.close
tempfile.close

FileUtils.mv("file.tmp", "file.txt")

关于ruby-on-rails - 如何将字符串插入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2139058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com