如何在Java中获取文件扩展名

时间:2020-02-23 14:34:28  来源:igfitidea点击:

有时在处理文件时,我们需要根据文件的类型对它们进行不同的处理。
java.io.File没有任何获取文件扩展名的方法,这里我提供了一种实用方法来获取java中的文件扩展名。

Java获取文件扩展名

文件扩展名是文件名的句点(。
)后的最后一部分。
例如,Java源文件扩展名是" java",您会注意到文件名始终以" .java"结尾。

我们可以使用此文件名和扩展名逻辑来检索文件名的最后一部分并获取文件的扩展名。

package com.theitroad.files;

import java.io.File;

public class GetFileExtension {

  /**
   * Get File extension in java
   * @param args
   */
  public static void main(String[] args) {
      File file = new File("/Users/hyman/java.txt");
      System.out.println("File extension is: "+getFileExtension(file));
      //file name without extension
      file = new File("/Users/hyman/temp");
      System.out.println("File extension is: "+getFileExtension(file));
      //file name with dot
      file = new File("/Users/hyman/java.util.txt");
      System.out.println("File extension is: "+getFileExtension(file));
      //hidden files without extension
      file = new File("/Users/hyman/.htaccess");
      System.out.println("File extension is: "+getFileExtension(file));
  }

  private static String getFileExtension(File file) {
      String fileName = file.getName();
      if(fileName.lastIndexOf(".") != -1 && fileName.lastIndexOf(".") != 0)
      return fileName.substring(fileName.lastIndexOf(".")+1);
      else return "";
  }

}

上面程序的输出是:

File extension is: txt
File extension is: 
File extension is: txt
File extension is:

请注意,这里我不检查文件是否存在。
但是,在实际的编程方案中,应在进一步处理之前检查文件是否存在。