我正在读取一个可以包含任意行数的文件。
我只需要保存前 1000 个左右,作为变量“ recordsToParse
”传入。
如果我达到我的 1000 行限制或任何设置,我需要将预告片信息保存在文件中以进行验证total_records
等total_amount
。
所以,我需要一种方法来将我的“指针”从我在文件中的位置移动到最后一行,然后再运行一次。
file = File.open(file_name)
parsed_file_rows = Array.new
successful_records, failed_records = 0, 0
file_contract = file_contract['File_Contract']
output_file_name = file_name.gsub(/.TXT|.txt|.dat|.DAT/,'')
file.each do |line|
line.chomp!
line_contract = determine_row_type(file_contract, line)
if line_contract
parsed_row = parse_row_by_contract(line_contract, line)
parsed_file_rows << parsed_row
successful_records += 1
else
failed_records += 1
end
if (not recordsToParse.nil?)
if successful_records > recordsToParse
# move "pointer" to last line and go through loop once more
#break;
end
end
end
store_parsed_file('Parsed_File',"#{output_file_name}_parsed", parsed_file_rows)
[successful_records, failed_records]