Rubyでファイルをコピーする方法。 Fileクラスを使う。
open("bar.txt") do |input| open("foo.txt", "w") do |output| output.write(input.read) end end
まずはopen.txtというファイルを開き、データをinputとして引数にとる。
その後、書き込みたいファイルfoo.txtを開き(作り)、書き込みモードw
を指定する。
writeメソッドの引数にinputを渡し、open.txtの中身をfoo.txtにコピーする。
ただし、毎回こんなことをするのは面倒なので、ファイルをコピーしたり移動したりできるfileutils
ライブラリが用意されている。
require "fileutils" # bar.txtの中身をfoo.txtにコピー FileUtils.cp("bar.txt", "foo.txt") # bar.txtの中身をtestディレクトリ下にfoo.txtを作成&コピー FileUtils.cp("bar.txt", "../test/foo.txt")
便利。