https://blog.csdn.net/ununie/article/details/93137482
java的File類是沒有提供獲取后綴名的方法的,通常使用文件名來截取后綴名。
方法1:
//使用lastIndexOf()結合subString()獲取后綴名 public String lastName(File file){ if(file==null) return null; String filename = file.getName(); if(filename.lastIndexOf(".")==-1){ return "";//文件沒有后綴名的情況 } //此時返回的是帶有 . 的后綴名, return filename.subString(filename.lastIndexOf(".")); //return filename.subString(filename.lastIndexOf(".")+1);// 這種返回的是沒有.的后綴名 // 下面這種如果對於String類型可能有問題,如 以.結尾的字符串,會報錯。但是文件沒有以點結尾的 }
方法2:
// split截取后綴名 public String lastName(File file) { if (file == null) return null; String filename = file.getName(); // split用的是正則,所以需要用 //. 來做分隔符 String[] split = filename.split("\\."); //注意判斷截取后的數組長度,數組最后一個元素是后綴名 if (split.length > 1) { return split[split.length - 1]; } else { return ""; } }
方法3:
https://blog.csdn.net/weixin_45216092/article/details/105126471
使用commons-io 來獲取 引入commons-io <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> //文件全名 FilenameUtils.getName(filename) //文件名 FilenameUtils.getBaseName(filename) //文件后綴名 FilenameUtils.getExtension(filename)