Ruby 为什么赢了';文件内容拷贝?

Ruby 为什么赢了';文件内容拷贝?,ruby,duplicates,overwrite,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

我正在尝试将一个文件的内容复制到另一个文件。当文件正在复制时,文件的内容不会被复制。我不确定我在这里哪里出了问题

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."
使用FileUtils#cp 复制文件的最简单方法是使用Ruby标准库。例如:

require 'fileutils'
FileUtils.cp '/tmp/foo', '/tmp/bar'
如果愿意,您当然可以使用变量来存储从标准输入中收集的文件名。如果不需要,就不要重新发明轮子,只要有可能,就利用标准库。

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

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

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

你能写
输出吗?在
输出后关闭
。写(准备文件)
。完成此操作后,请告诉我您得到了什么。您可以写入
输出吗?请在
输出行后关闭
。写入(准备文件)
。做完这件事后,你得到了什么,让我知道。