Copy txt file - only copies 1/3 of the file - what happened?


#1

File.open(‘oldFile.txt’, ‘r’) do |f1| #file contains XML type data
m = f1.gets
File.open(‘newFile.txt’,‘w’) do |f2| #newFile to separate data in
oldFile
f2.puts m.split("<")
end
end

Hello All.
There is something that I did that was weird here. I say this because
when I open the new file that it creates its 1/3 the size of the
original. It seems to just completely cut off. I took off the .split and
it still did this, so I know it has nothing to do with split. What do
you think is going on?

oldFile.txt
contains XML formatted data.

newFile.txt
is supposed to break each line up what starts with < giving a new line
per element for later use.


#2

On Dec 10, 2008, at 9:37 PM, Mmcolli00 Mom wrote:

File.open(‘oldFile.txt’, ‘r’) do |f1| #file contains XML type data
m = f1.gets
File.open(‘newFile.txt’,‘w’) do |f2| #newFile to separate data in
oldFile
f2.puts m.split("<")
end
end

Perhaps replace line 2 with:

 m = f1.read

?


#3

On Thu, Dec 11, 2008 at 11:37 AM, Mmcolli00 Mom removed_email_address@domain.invalid
wrote:

File.open(‘oldFile.txt’, ‘r’) do |f1| #file contains XML type data
m = f1.gets

ok, this gets just one line of text fr f1

File.open('newFile.txt','w') do |f2| #newFile to separate data in

oldFile
f2.puts m.split("<")

and you placed that one line on f2

end
end

and that is all. you just copied one line.

hint: File.open by itself does not loop.


#4

Thanks for the help Matthew and Guest botp! It worked great.