java ファイルから拡張子のみを取得する

java ファイルから拡張子のみを取得する

javaで、ファイルから拡張子のみを取得する手順を記述してます。

環境

  • OS windows11 home
  • java 17.0.2

手順

ファイルから拡張子のみを取得するには、ファイル名を取得して「.」で分割します。

ファイル.getName().substring(file.getName().lastIndexOf(".") + 1)

実際に取得してみます。

import java.io.*;

public class App {
  public static void main(String[] args) throws Exception {

    File file = new File("C:/java/test/src/sample.txt");

    System.out.println(file.getName().substring(file.getName().lastIndexOf(".") + 1));

  }
}

取得されていることが確認できます。

最後にある「.」を取得するので「sample.foo.txt」のようなファイル名でも拡張子が取得されます。
※ここではフォルダであるかの判定も追加してます。

import java.io.*;

public class App {
  public static void main(String[] args) throws Exception {

    File file = new File("C:/java/test/src/sample.foo.txt");
    // フォルダであるかを判定
    if (!file.isDirectory()) {
      System.out.println(file.getName().substring(file.getName().lastIndexOf(".") + 1));
    }

  }
}