我正在尝试将一个文件的内容复制到另一个文件。虽然文件正在复制,但文件的内容却没有。我不知道我在哪里出错了。
puts "What file do you want to copy?"
print ">"
to_duplicate = STDIN.gets.chomp
puts "what do you want to call the new file?"
print ">"
output_file = STDIN.gets.chomp
puts "copying #{to_duplicate} to #{output_file}."
input = File.open(to_duplicate, 'r') ; prepare_file = input.read
output = File.open(output_file, 'w')
output.write(prepare_file)
puts "finished duplicating files."
答案 0 :(得分:4)
复制文件的最简单方法是使用Ruby标准库中的FileUtils#cp。例如:
require 'fileutils'
FileUtils.cp '/tmp/foo', '/tmp/bar'
如果您愿意,您当然可以使用变量来存储从标准输入中收集的文件名。如果你不需要,就不要重新发明轮子,并尽可能利用标准库。