From: rio4ruby Date: 2007-09-07T14:20:05+09:00 Subject: Re: Where is the definition of File.read()? On Sep 6, 9:41 pm, optman wrote: > On 9 7 , 1 24 , John Joyce > wrote: > > I have seen a line of code like > > put( File.read(sourceFile),targetFile) > > if File.read() return the entire file content, what if sourceFile is a > large file? > Then you are in trouble if you use File.read(). From your example I can don't know what the method #put does, but one might logically surmise that its function is to put a string (the output of File.read) into targetFile. Reading a file into a string and then writing that string to a file is not a good solution for large files. The module ::FileUtils contains a method #cp which very efficiently (by ruby standards) copies one file to another -- without requiring that the entire contents of the source file be copied into memory first. Rio (http://rio.rubyforge.org) will also copy a file without requiring the source file being read into memory first: rio('sourceFile') > rio('targetFile')