こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 Rubyのファイルが空かどうかを確認できるFile.empty?メソッドについて
- File.empty?メソッドとは
- File.empty?メソッドを使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
この記事ではRubyプログラムは
C:\rubystudy
に作成しています。
File.empty?メソッドとは
File.empty?メソッドとは、引数に指定されたパスのファイル存在し、かつそのファイルが空であればtrue、そうでなければfalseを返すメソッドです。
確認したいファイルのパスは、相対パスでも絶対パス両方で指定することができます。
それぞれのパスについては、こちらの記事をご参考ください。
File.empty?メソッドのサンプルは、以下になります。
1 2 3 4 5 |
・絶対パス result = File.empty?("C:/sample/sample.txt") ・相対パス result = File.empty?("./sample.txt") |
上記を実行すると、引数で指定されているsample.txtが存在して空であればtrue、ファイルが存在しない、またはファイルが空でなければfalseが返ります。
では、次の章で実際に使ってみます。
File.empty?メソッドを解説するプログラムの概要
File.empty?メソッドを解説するプログラムでは、ディレクトリが空、ファイルあり、それぞれのケースを
- 絶対パス
- 相対パス
の2パターンでFile.empty?メソッドに与えて、結果を確認します。
Rubyサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
puts "■File.empty?メソッドサンプル" puts "①ファイルが空である場合" puts "・絶対パスで確認" if File.empty?("C:/rubystudy/sample/hogehoge/aaa.txt") then puts "aaa.txtは空である" else puts "aaa.txtは空でない" end puts "・相対パスで確認" if File.empty?("./sample/hogehoge/aaa.txt") then puts "aaa.txtは空である" else puts "aaa.txtは空でない" end puts puts "②ファイルが空でない場合" puts "・絶対パスで確認" if File.empty?("C:/rubystudy/sample/test/bbb.txt") then puts "bbb.txtは空である" else puts "bbb.txtは空でない" end puts "・相対パスで確認" if File.empty?("./sample/test/bbb.txt") then puts "bbb.txtは空である" else puts "bbb.txtは空でない" end |
実行結果
実行する前の状態を確認します。
C:\rubystudy\sample\hogehoge
配下のaaa.txtは存在して空であり、
C:\rubystudy\sample\test
配下のbbb.txtは存在するが空でないことを確認しました。
では、実行してファイルが存在し、かつ空かどうかのを確認します。
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
1 2 3 4 5 6 7 8 9 10 11 12 |
■File.empty?メソッドサンプル ①ファイルが空である場合 ・絶対パスで確認 aaa.txtは空である ・相対パスで確認 aaa.txtは空である ②ファイルが空でない場合 ・絶対パスで確認 bbb.txtは空でない ・相対パスで確認 bbb.txtは空でない |
相対パス絶対パスともに、ファイルが空かどうかのチェックができていることが確認できました!
まとめ:File.empty?メソッドを使ってみよう!
以上がFile.empty?メソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント