【Java】lengthでファイルのサイズ(size)を取得する!

ファイルのサイズ(size)を取得するにはFileクラスのlengthメソッドを使用します。

Fileクラスのlengthメソッドはファイルのサイズをバイト単位で取得するメソッドとなります。

lengthメソッドは、ファイルの大きさを知りたい場合や、書き込みを行う際にファイルが重くならないようファイルのサイズを条件として書き込む対象のファイルを設定する場合などに使用することができます。

今回はFileクラスのlengthメソッドを使って以下の場合でファイルのサイズ(size)を取得していきます。

⚫︎ サイズを取得する対象のファイルが存在する場合
⚫︎ サイズを取得する対象のファイルが存在しない場合

また、Filesクラスのsizeメソッドを使ってファイルのサイズ(size)を取得する方法についても紹介していきます。

lengthメソッドとは

Fileクラスのlengthメソッドはファイルのサイズをバイト単位で取得するメソッドとなります。

lengthメソッドの書き方

lengthメソッドの構文は下記となります。

まず、Fileクラスのlengthメソッドを使用するためにFileクラスをインポートします。

そして、lengthメソッドの前にファイル名を指定して呼び出すことで、メソッドの前に指定したファイルのサイズを取得することができます。

ファイルのサイズを取得するサンプルコード

ファイルのサイズを取得するサンプルコードを紹介します。

対象のファイルが存在する場合

Main.java

出力結果

ファイルサイズ:346

「C:¥study」以下にobjectFile.txtを用意して、Main.javaを実行するとlengthメソッドによって対象のファイルのサイズを取得します。

対象のファイルが存在しない場合

Main.java

出力結果

ファイルサイズ:0

存在しないファイルを指定し、Main.javaを実行するとlengthメソッドはlong型の0を返します。

NIO.2(Filesクラス)でファイルのサイズを取得する場合

NIO.2(Filesクラス)でファイル/ディレクトリを移動するにはFilesクラスのsizeメソッドを使用します。

NIO.2とはJava7で導入された「java.nio.file」パッケージとそのサブパッケージとを合わせたものであり、NIO.2のFilesクラスを使用することでとても簡単にファイル処理を行うことができます。

そのため、Filesクラスのsizeメソッドを呼び出すことによって、Fileクラスのlengthメソッドと同様にファイルのサイズをバイト単位で取得することができます。

しかし、対象となるファイルが存在しない場合は、lengthメソッドと違って例外が発生します。

対象のファイルが存在する場合

Main.java

出力結果

ファイルサイズ:346

対象のファイルが存在しない場合

Main.java

出力結果

Exception in thread “main” java.nio.file.NoSuchFileException: noObjectFile.txt

今回のポイント

lengthでファイルのサイズを取得

ファイルのサイズを取得するにはFileクラスのlengthメソッドを使用する

⚫︎ Fileクラスのlengthメソッドでファイルのサイズを取得する

⚫︎ lengthメソッドの前に対象のファイルを指定し、メソッドを呼び出すことで対象のファイルのサイズをバイト単位で取得する

⚫︎ 存在しないファイルを指定した場合、lengthメソッドはlong型の「0」を返す

⚫︎ Filesクラスでファイルのサイズを取得するにはsizeメソッドを使用する

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し