为什么文件内容不会复制?

时间:2014-03-02 15:55:07

标签: ruby duplicates overwrite

我正在尝试将一个文件的内容复制到另一个文件。虽然文件正在复制,但文件的内容却没有。我不知道我在哪里出错了。

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."

1 个答案:

答案 0 :(得分:4)

使用FileUtils#cp

复制文件的最简单方法是使用Ruby标准库中的FileUtils#cp。例如:

require 'fileutils'
FileUtils.cp '/tmp/foo', '/tmp/bar'

如果您愿意,您当然可以使用变量来存储从标准输入中收集的文件名。如果你不需要,就不要重新发明轮子,并尽可能利用标准库。