为什么要将一个文件的内容复制到另一个文件中?为什么不使用操作系统来复制文件,或者使用Ruby的内置FileUtils.copy_file
?
ri FileUtils.copy_file
FileUtils.copy_file
(from ruby core)
------------------------------------------------------------------------------
copy_file(src, dest, preserve = false, dereference = true)
------------------------------------------------------------------------------
Copies file contents of src to dest. Both of src and
dest must be a path name.
更灵活/强大的替代方法是使用Ruby的内置FileUtils.cp
:
ri FileUtils.cp
FileUtils.cp
(from ruby core)
------------------------------------------------------------------------------
cp(src, dest, options = {})
------------------------------------------------------------------------------
Options: preserve noop verbose
Copies a file content src to dest. If dest is a
directory, copies src to dest/src.
If src is a list of files, then dest must be a directory.
FileUtils.cp 'eval.c', 'eval.c.org'
FileUtils.cp %w(cgi.rb complex.rb date.rb), '/usr/lib/ruby/1.6'
FileUtils.cp %w(cgi.rb complex.rb date.rb), '/usr/lib/ruby/1.6', :verbose => true
FileUtils.cp 'symlink', 'dest' # copy content, "dest" is not a symlink
这帮助很大,谢谢您!我没有考虑使用读取方法。 – Mark 2011-05-15 00:30:58
我会非常小心使用这个解决方案,因为它有可扩展性问题。 'IO#readlines'将整个文件整理到内存中。 – 2011-05-15 20:46:33