こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 Rubyでファイルに追記で書き込みを行うやり方について
- 使うメソッド
- 実際にファイルに書き込むサンプルプログラム
と、丁寧に解説していきます。
他のファイル操作については、こちらの記事をご参考ください。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
ファイルに追記で書き込みをするために使うメソッド
ファイルを書き込むためには
- openメソッドでファイルを開く
- putsメソッドまたはwriteメソッドで書き込む
という段取りで書き込みます。
サンプルは以下になります。
1 2 3 |
open('hoge.txt', 'a') do |file| # 書き込む処理を書く end |
それぞれの引数の意味は下記です。
第一引数のファイル指定は、存在しないファイルを指定しても問題ありません。
ない場合は指定された名前でファイルが作成されます。
指定するファイルのパスは
- 相対パス
- 絶対パス
どちらでもOKです。
それぞれのパスについては、こちらの記事をご参考ください。
第二引数の[a]の意味は、追記で書き込みを行うという意味です。
もし存在して中身があるファイルが指定されていた場合、末尾から追記で書き込みを実施します。
では、次の章で実際に使ってみます。
ファイル書き込みを解説するプログラムの概要
ファイルに追記で書き込みを解説するプログラムは
- 存在しないテキストファイル
- 存在するテキストファイル
の2パターンで書き込みを行います。
実行前後でどうなっているのかを比較して確認します。
カレントディレクトリは
C:\rubystudy
として、同じ階層にrubyプログラムを作成します。
Rubyサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# ファイル追記で書き込みサンプル puts('■ファイル書き込み(存在しないファイルを指定)') not_exit_file = './sample/new_file.txt' open(not_exit_file, 'a') do |file| puts file.puts('ファイルを新規作成しました') end puts('■ファイル書き込み(存在するファイルを指定)') exit_file = './sample/exit.txt' open(exit_file, 'a') do |file| file.puts('cccc') file.puts('dddd') end puts('書き込み完了') |
実行結果
ファイルに追記で書き込みを実行する前の状態を確認します。
実行するプログラムがあるディレクトリ配下のsampleディレクトリを確認します。
【exit.txt】というテキストファイルのみ存在し、中身が下記であることを確認しました。
実行して本当にファイルに書き込みができているかを確認します。
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
無事実行できたので、それぞれを確認します。
sampleディレクトリを確認すると、new_file.txtが作成されていることが確認できます。
中身を確認すると、指定した通りの内容で書き込みが行われていることが確認できます。
exit.txtの中身を確認すると、既存の内容に追記で書き込みが行われていることが確認できます。
まとめ:ファイルに追記で書き込みをしてみよう!
以上がファイルに追記で書き込みを行うやり方についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント