使用r+
模式和.insert
方法将代码写入文件中特定点的最佳方法是什么?使用.insert字符串方法写入文件
gets.chomp
被使用并附加到一个名为x
的变量,它是这个变量和分配的字符串,在写入文件时需要插入到特定位置。
谢谢
使用r+
模式和.insert
方法将代码写入文件中特定点的最佳方法是什么?使用.insert字符串方法写入文件
gets.chomp
被使用并附加到一个名为x
的变量,它是这个变量和分配的字符串,在写入文件时需要插入到特定位置。
谢谢
您可以替换或插入文件中的东西。滚动到Pleac上的“无临时文件的位置修改文件”。这是脆弱的,不被认为是良好的做法。通常的做法是:
这种方式最大限度地减少了断电时数据丢失的可能性等。
更新:根据您的意见,你需要像
File.open('test.txt', 'r+') do |f|
str = f.read
f.rewind
f.write(str.insert(6, ' HI THERE '))
end
当然这与通常的警告有关不试图读取大于可用内存的文件,并检查磁盘上是否有足够的空间将新文件写回去...... – 2011-05-16 23:45:21
它也是可以复制旧文件的第一部分,将新块写入该副本,然后继续复制旧文件。这避免了将其全部放入RAM中。 – 2011-05-16 23:46:27
感谢steenslag为我带来Pleac但Ruby字符串方法.insert是我想要使用(如果可能的话)。由于它是一个字符串方法,必须使用r +模式打开一个文件,将整个文件(不是大文件)放入一个字符串中,对该字符串使用.insert方法,然后将该字符串写入该文件。那可能吗? – Alex 2011-05-17 10:19:29
什么编程语言???请明智地标记。 – 2011-05-16 12:52:38
对不起,Paul R,Ruby – Alex 2011-05-16 12:57:44
哪个'#插入'方法? AFAIK,你不能直接插入任何东西到打开的文件(你可以覆盖),你必须写入另一个文件。 – 2011-05-16 13:34:47