【Java】getName()を使ってパスからファイル名を取得する!

パスからファイル名を取得するにはFileクラスのgetName()メソッドを使用します。

Fileクラスは、Javaにおいてローカルディレクトリに存在するファイルやディレクトリについての多様な操作を実現するためのクラスであり、そのクラスで用意されているgetName()メソッドは、パスからファイル名を取得するメソッドとなります。

また、FileクラスにはgetName()メソッドに似た、getPath()メソッドやgetParent()メソッドなどがありますのが使い方が異なりますので注意してください。

今回はFileクラスのgetName()メソッドを使ってパスからファイル名を取得します。

getName()メソッドとは

FileクラスのgetName()メソッドとは、ファイルの名前を文字列で取得するためのメソッドとなります。

getName()メソッドの書き方

FileクラスのtransferFrom()メソッドの構文は下記となります。

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

そして、getName()の前にFileオブジェクトを指定することで、指定したFileオブジェクトを文字列で取得することができます。

パスからファイル名を取得するサンプルコード

パスからファイル名を取得するサンプルコードを紹介します。

出力結果

パス:temp/targetFile.txt
ファイル名:targetFile.txt

コンソールから実行する場合はレントディレクトリに「srcFile.txt」を用意します。
Eclipseで実行酢する場合は、プロジェクト直下に「srcFile.txt」を用意します。
その状態でMain.javaを実行すると、「scrFile.txt」をコピーした「targetFile.txt」が作成されます。

また、ChannelクラスのtransferTo()メソッドを使用しても同様の結果となります。

今回のポイント

getName()でバスからファイル名を取得

バスからファイル名を取得するにはFileクラスのgetName()メソッドを使用する

FileクラスのgetName()メソッドを呼び出すことで、パスからディレクトリ名を除いたファイル名を取得することができます。
対象となるパスがディレク 後のディレクトリ名を取得します。

なお、取得したファイル名には、拡張子も含まれます。

補足

NIO.2を使用してパスからファイル名を取得するには

PathクラスのgetFileName()メソッドを使用すると、パスからファイル名を取得できます。
また、NIO.2とはJava7で導入された「java.nio.file」パッケージとそのサブパッケージとを合わせたものをいいます。

また、PathクラスのgetNameCount()メソッドでパスをパス区切り文字で分割した際の要素数を取得し、PathクラスのgetName()メソッドでその最後の要素を取得することでもファイル名を取得することができます。

なお、パスをパス区切り文字で分割した場合は、Windows系のドライブ文字(「C:」など)は含まれません。

出力結果

パス:temp/targetFile.txt
ファイル名:targetFile.txt
ファイル名:targetFile.txt

Writer
壷井

壷井

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

最新の案件情報

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