こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、12年目エンジニアです。
この記事では、 Rubyのファイルサイズを取得できるFile.sizeメソッドについて
- File.sizeメソッドとは
- File.sizeメソッドを使うときの注意点
- File.sizeメソッドを使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
この記事ではRubyプログラムは
C:\rubystudy
に作成しています。
File.sizeメソッドとは
File.sizeメソッドとは、引数に指定されたパスのファイルのサイズをバイトで返すメソッドです。
確認したいファイルのパスは、相対パス絶対パス両方で指定することができます。
それぞれのパスについては、こちらの記事をご参考ください。
File.sizeメソッドのサンプルは、以下になります。
1 2 3 4 5 |
・絶対パス result = File.size("C:/sample/aaa.txt") ・相対パス result = File.size("./sample/aaa.txt") |
上記を実行すると、引数で指定されているaaa.txtのファイルサイズがバイトで返ります。
File.sizeメソッドを使うときの注意点
File.sizeメソッドを使うときの注意点として、引数には存在するファイルパスしか指定できません。
たとえば
1 |
result = File.size("C:/sample/xxx.txt") |
で存在しないファイルパスを指定した場合、実行すると
1 2 3 |
Traceback (most recent call last): 1: from file_size_sample.rb:1:in `<main>' file_size_sample.rb:1:in `size': No such file or directory @ rb_file_s_size - C:/sample/xxx.txt (Errno::ENOENT) |
とエラーとなるので、ご注意ください。
File.sizeメソッドを実行する前に、File.exist?メソッドを使ってファイルの存在チェックをすることをおすすめします。
詳しくはこちらの記事をご参考ください。
では、次の章で実際に使ってみます。
File.sizeメソッドを解説するプログラムの概要
File.sizeメソッドを解説するプログラムでは同じファイルを
- 絶対パス
- 相対パス
の2パターンでFile.sizeメソッドの引数に与えて、結果を確認します。
Rubyサンプルプログラム
1 2 3 4 5 6 7 8 9 |
puts "■File.sizeメソッドサンプル" puts "・絶対パスで確認" absolute_file_size = File.size("C:/rubystudy/sample/hogehoge/aaa.txt") puts "aaa.txtのサイズ:#{absolute_file_size}" puts "・相対パスで確認" relative_file_size = File.size("./sample/hogehoge/aaa.txt") puts "aaa.txtのサイズ:#{relative_file_size}" |
実行結果
実行する前にファイルサイズを確認します。
「aaa.txt」は48バイトであることが確認できました。
では、実行します。
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
1 2 3 4 5 |
■File.sizeメソッドサンプル ・絶対パスで確認 aaa.txtのサイズ:48 ・相対パスで確認 aaa.txtのサイズ:48 |
指定したパスを問わず、ファイルのサイズが取得できていることが確認できました。
まとめ:File.sizeメソッドを使ってみよう!
以上がFile.sizeメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント