在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