在java中获取文件扩展名
时间:2020-01-09 10:35:33 来源:igfitidea点击:
在Java中进行文件I / O操作时,我们可能需要知道文件的扩展名。在这篇文章中,我们将看到一个Java文件来获取文件扩展名。由于没有直接的Java File API方法来获取文件扩展名,因此我们必须使用Java String类方法来实现。
另一个选择是使用Apache IO,其中FilenameUtils具有方法getExtension()来获取文件名。但这需要在类路径中使用Apache IO jar。
获取文件扩展名Java程序
1.在String类中,有一个lastIndexOf(int ch)方法,该方法给出指定字符最后一次出现的索引,使用它可以获取最后一个'。'的索引,使用subString()可以获取字符串在最后一个点之后。这样,我们可以获取所传递文件的扩展名。
public class FileExtension {
public static void main(String[] args) throws IOException {
File file = new File("F:\theitroad\links.txt");
String extension = getFileExtension(file);
System.out.println("Extension is- " + extension);
file = new File("F:\theitroad\Ubuntu Page.html");
extension = getFileExtension(file);
System.out.println("Extension is- " + extension);
}
private static String getFileExtension(File file) {
// null and file exist check
if(file == null || !file.exists()){
return "File not found";
}
String fileName = file.getName();
int extIndex = fileName.lastIndexOf(".");
// -1 is returned if index is not found
if(extIndex == -1) {
return "";
}else {
return fileName.substring(fileName.lastIndexOf("."));
}
}
}
输出:
Extension is- .txt Extension is- .html
如果我们不希望出现附带的".",请使用
fileName.substring(fileName.lastIndexOf(".") + 1
2.使用Apache IO库,该库为FilenameUtils类提供方法getExtension(),该方法返回最后一个点后的文件名的文本部分。如果没有扩展名,则返回空字符串,如果file为null,则返回null。
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FilenameUtils;
public class FileExtension {
public static void main(String[] args) throws IOException {
File file = new File("F:\theitroad\links.txt");
String extension = getFileExtensionApache(file);
System.out.println("Extension is- " + extension);
file = new File("F:\theitroad\Ubuntu Page.html");
extension = getFileExtensionApache(file);
System.out.println("Extension is- " + extension);
}
private static String getFileExtensionApache(File file) {
return FilenameUtils.getExtension(file.getName());
}
}
输出:
Extension is- txt Extension is- html

