From: Tim Hunter Date: 2008-12-25T00:53:59+09:00 Subject: Re: Newbie - open file permission denied Bob Smith wrote: > I am attempting to open a directory, open each file and send each line > of the file to a network host. > I can get the code to work for a single file, but the script fails with > a "permission denied" error when I attempt to do this for each file in a > directory. > > *****CODE***** > IPADDR= "some ip address" > OUTPORT = "some ip port" > INDIR = "some directory" > dir = Dir.open(INDIR) > dir.each do |f| > file = File.open(f,"r") > streamSock = TCPSocket::new(IPADDR,OUTPORT) > while(line = file.gets) > streamSock.send(line,0) > end > streamSock.close > file.close > end > *****END CODE****** > any help greatly appreciated > > Thank you. The filenames returned by dir.each are just filenames, not the complete paths. You may need to prepend the INDIR directory name to the filenames to get a complete path to open. -- RMagick: http://rmagick.rubyforge.org/