File.readで全部読み込む・closed?メソッドで確認

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

File.readというクラスメソッドを使うと、ファイルのデータを全部一気に読み込めます。
ただし、ファイルサイズが大きい場合などは、処理に延々と時間がかかってしまう危険があります。
前のページ(ファイルを読み込み、ファイルを新規作成し書き込む)で使った、以下のデータファイルを読み込んで、別ファイルにコピーする例です。

スポンサーリンク

number.dat

3,6,455,64
23,67,10,2925,
53,67,487
30,57,
12,65,89,3432,456
output = File.read("number.dat")
output_file2 = File.open("output_number2.dat", "w")
output_file2.write(output)
 
p output_file2.closed?
output_file2.close
p output_file2.closed?

ファイルをすべて読み込み、別ファイルに書き出すだけなら4行で済みます。
下の3行は、ファイルをクローズした(閉じた)かどうか確認するメソッドclosed?の動作を確認しています。

コンソールの出力結果。

false
true

closeメソッドの前は、closed?メソッドはfalseを返し、後ではtrueを返しています。
では、以下がデータが書き込まれたファイルの内容です。

output_number2.dat

3,6,455,64
23,67,10,2925,
53,67,487
30,57,
12,65,89,3432,456

読み込み元ファイルの内容と同じ内容が、新しくoutput_number2.datファイルに書き込まれています。

スポンサーリンク
 
スポンサーリンク