使用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