如何在Java中获取没有扩展名的文件名?
任何人都可以告诉我如何在没有扩展名的情况下获得文件名?例:
fileNameWithExt = "test.xml";
fileNameWithOutExt = "test";
任何人都可以告诉我如何在没有扩展名的情况下获得文件名?例:
fileNameWithExt = "test.xml";
fileNameWithOutExt = "test";
如果您像我一样,宁愿使用一些库代码,他们可能已经想到了所有特殊情况,例如,如果您在路径中传入 null 或点,但不在文件名中传递,则可以使用以下方法:
import org.apache.commons.io.FilenameUtils;
String fileNameWithOutExt = FilenameUtils.removeExtension(fileNameWithExt);
最简单的方法是使用正则表达式。
fileNameWithOutExt = "test.xml".replaceFirst("[.][^.]+$", "");
上面的表达式将删除最后一个点,后跟一个或多个字符。下面是一个基本的单元测试。
public void testRegex() {
assertEquals("test", "test.xml".replaceFirst("[.][^.]+$", ""));
assertEquals("test.2", "test.2.xml".replaceFirst("[.][^.]+$", ""));
}