【Java】ファイル名と拡張子名を抜き出す


Posted on 2022/4/14 at 22:30


プロジェクトツリー構造

プロジェクト直下に「file」ディレクトリを作成し、その中に「test.txt」という空のテキストファイルを作成しました。

サンプルコード

		package str;

import java.io.File;

public class FileExtension {

	public static void main(String[] args) {
		File f = new File("file/test.txt");
		String fileName = f.getName();
		System.out.println(fileName);
		int index = fileName.lastIndexOf(".");
		if (index != -1) {
			System.out.println("ファイル名 = " + fileName.substring(0, index));
			System.out.println("拡張子名 = " + fileName.substring(index+1, fileName.length()));
		}
	}

}
	

実行結果

		test.txt
ファイル名 = test
拡張子 = txt
	

FileクラスのgetNameメソッドは拡張子を含めたファイル名を返すため、今回は「test.txt」という文字列を返します。

getNameメソッドで取得したファイル名からドットの位置を検索し、それより左をファイル名、右を拡張子名としてsubstringメソッドで切り出しています。

関連記事

【Java】後ろから2文字を削除する方法

substringメソッドと正規表現を使用した方法の紹介です。