Hello,
I have some text to be written to a file.
After receiving data from webrick server I modify it lil bit and then
write it to a file.
fd = File.open(“file.txt”, “w”)
fd.puts “#{data}”
The code doesnt give error and runs successfully however file.txt
doesnt contain any data.
Just puts “#{data}” gives a give output on console. Means its not empty.
Can anyone tell me why does it happen ?
name pipe wrote:
Hello,
I have some text to be written to a file.
After receiving data from webrick server I modify it lil bit and then
write it to a file.
fd = File.open(“file.txt”, “w”)
You can use
open(“file.txt”, “w”)
as well.
fd.puts “#{data}”
Why not just
fd.puts data
as for the empty file problem, maybe try to close fd:
fd.close
Peter
http://www.rubyrailways.com
Hello,
That works, or, even more Rubytastic:
open(“file.txt”, “w”) do |fd|
fd.puts data
end
Using the block automatically closes the file.
–Jeremy
On Wed, 01 Nov 2006 13:50:49 -0000, name pipe [email protected]
wrote:
doesnt contain any data.
Just puts “#{data}” gives a give output on console. Means its not empty.
Can anyone tell me why does it happen ?
You’re never closing the file, which is why it’s empty (your writes are
never flushed).
Try either fd.close at the end, or (better IMHO) use the block form:
File.open(“file.txt”, “w”) do |fd|
fd.puts “#{data}” # or fd.puts data.to_s
end
Hope that helps.