Java File getName() メソッド
getName()はJavaにおけるjava.io.FileFileクラスが提供するインスタンスメソッドで、ファイルまたはディレクトリの名前(パス情報を含まない)を取得するために使用されます。このメソッドは、そのファイルオブジェクトの名前部分を表す文字列を返します。
メソッド構文
public String getName()
戻り値
ファイルまたはディレクトリの名前を表す文字列(パス情報を含まない)を返します。使用シーン
getName()このメソッドは、以下のような場合に特に役立ちます:
- ファイル名だけを取得し、パスを気にする必要がない場合
- ファイルリストの操作でファイル名を抽出する場合
- ファイル名を表示または記録する必要がある場合
- ファイル名に関連する文字列操作を行う場合
サンプルコード
基本的な使用例
例
import java.io.File;
public class GetNameExample {
public static void main(String[] args) {
// Fileオブジェクトを作成する
File file = new File("C:/Users/Example/Documents/report.txt");
// getName()を使用してファイル名を取得する
String fileName = file.getName();
System.out.println("完全パス: " + file.getPath());
System.out.println("ファイル名: " + fileName);
}
}
public class GetNameExample {
public static void main(String[] args) {
// Fileオブジェクトを作成する
File file = new File("C:/Users/Example/Documents/report.txt");
// getName()を使用してファイル名を取得する
String fileName = file.getName();
System.out.println("完全パス: " + file.getPath());
System.out.println("ファイル名: " + fileName);
}
}
出力結果
完整路径: C:\Users\Example\Documents\report.txt 文件名: report.txt
ディレクトリ処理の例
例
import java.io.File;
public class DirectoryNameExample {
public static void main(String[] args) {
// ディレクトリを指すFileオブジェクトを作成する
File directory = new File("C:/Program Files/Java");
// ディレクトリ名を取得する
String dirName = directory.getName();
System.out.println("ディレクトリ名: " + dirName);
}
}
public class DirectoryNameExample {
public static void main(String[] args) {
// ディレクトリを指すFileオブジェクトを作成する
File directory = new File("C:/Program Files/Java");
// ディレクトリ名を取得する
String dirName = directory.getName();
System.out.println("ディレクトリ名: " + dirName);
}
}
出力結果
目录名: Java
技術詳細
実装原理
getName()このメソッドの動作原理は次のとおりです:
- まず、完全なパス文字列を取得します
- 次に、最後のパス区切り文字を探します(Windows では ''、Unixライクなシステムでは '/')
- 区切り文字より後の部分文字列を返します
パス区切り文字の処理
Java はオペレーティングシステムごとのパス区切り文字の違いを自動的に処理するため、どの区切り文字を使用しても、getName()正しく動作します。
注意事項
- もし
Fileオブジェクトがルートディレクトリ("C:" や "/" など)を表す場合、getName()空文字列 "" を返します - このメソッドは、ファイルまたはディレクトリが実際に存在するかどうかをチェックしません
- 返される名前には、ファイル拡張子が含まれます(存在する場合)
- 相対パスの場合は、パスの最後の部分のみを返します
他のメソッドとの比較
getName() vs getPath()
getName():ファイルまたはディレクトリの名前部分のみを返しますgetPath():File オブジェクトを作成するときに使用した完全なパス文字列を返します
getName() vs getAbsolutePath()
getName():名前部分のみを返しますgetAbsolutePath():完全な絶対パスを返します
実際の応用例
ファイル拡張子の一括処理
例
import java.io.File;
public class FileExtensionExample {
public static void main(String[] args) {
File file = new File("data/archive.zip");
String name = file.getName();
// ファイル拡張子を取得する
int dotIndex = name.lastIndexOf('.');
if (dotIndex > 0) {
String extension = name.substring(dotIndex + 1);
System.out.println("ファイル拡張子: " + extension);
}
}
}
public class FileExtensionExample {
public static void main(String[] args) {
File file = new File("data/archive.zip");
String name = file.getName();
// ファイル拡張子を取得する
int dotIndex = name.lastIndexOf('.');
if (dotIndex > 0) {
String extension = name.substring(dotIndex + 1);
System.out.println("ファイル拡張子: " + extension);
}
}
}
出力結果
文件扩展名: zip
ディレクトリを走査してファイル名を取得する
例
import java.io.File;
public class ListFilesExample {
public static void main(String[] args) {
File directory = new File("C:/Users/Example/Downloads");
// ディレクトリ内のすべてのファイルを一覧表示する
File[] files = directory.listFiles();
if (files != null) {
System.out.println("ダウンロードディレクトリ内のファイル:");
for (File file : files) {
if (file.isFile()) {
System.out.println("- " + file.getName());
}
}
}
}
}
public class ListFilesExample {
public static void main(String[] args) {
File directory = new File("C:/Users/Example/Downloads");
// ディレクトリ内のすべてのファイルを一覧表示する
File[] files = directory.listFiles();
if (files != null) {
System.out.println("ダウンロードディレクトリ内のファイル:");
for (File file : files) {
if (file.isFile()) {
System.out.println("- " + file.getName());
}
}
}
}
}
を習得することで、getName()メソッドを使用すると、ファイルやディレクトリの名前情報をより簡単に扱うことができ、ファイル操作の基礎となるサポートを提供します。
Java File