我一直面临文件概念的一些问题。我有一个文本文件,其中有 1000 行。我想将该文件分成 2 个,每个应该包含 500 行。为此,我编写了以下代码,但它通过提供一定的内存空间来拆分它。
class Hello
def chunker f_in, out_pref, chunksize = 500
File.open(f_in,"r") do |fh_in|
until fh_in.eof?
ch_path = "/my_applications//#{out_pref}_#{"%05d"%(fh_in.pos/chunksize)}.txt"
puts "choose path: "
puts ch_path
File.open(ch_path,"w") do |fh_out|
fh_out << fh_in.read(chunksize)
puts "FH out : "
puts fh_out
end
end
end
end
end
f=Hello.new
f.chunker "/my_applications/hello.txt", "output_prefix"
我可以根据内存大小(500kb)拆分父文件。但我希望它按行数分开。我怎样才能做到这一点。
请帮我。