ファイルを作成してデータを入力した後、閉じる前に、パーツ データを読み取り、チェックサムを計算する必要があります。問題は、ファイルを閉じる前にデータを読み取れないことです。コード スニペットは次のとおりです。
私の質問は、ファイルを作成し、データを書き込み、ファイルの一部を読み取ってから閉じる方法です。考えられる解決策の 1 つは、ファイルに書き込む前にバッファーを使用することですが、MB、GB、TB、PB など、ファイルが大きい場合は不便です。
begin
File.open(@f_name,"w+") do |file|
@f_old_size.times do
file.write "1"
end
file.flush
file.sync
#################
# read file fails
# before close
#################
while line = file.gets
puts line
end
end
rescue => err
puts "Exception: #{err}"
end
#####################
# read file successfully
# after close it
#####################
File.open(@f_name,"r") do |file|
line = file.gets
puts line
end