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.
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.
···
On Wed, 01 Nov 2006 13:50:49 -0000, name pipe <namepipe@gmail.com> 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")
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.
On 11/1/06, Peter Szinek <peter@rubyrailways.com> wrote:
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: