java - 如何在 Java 中获取文件的文件扩展名?

标签 java file io

为了清楚起见,我不是在寻找 MIME 类型。

假设我有以下输入:/path/to/file/foo.txt

我想要一种方法来分解这个输入,特别是扩展的 .txt。在 Java 中有没有内置的方法来做到这一点?我想避免编写自己的解析器。

最佳答案

在这种情况下,请使用 FilenameUtils.getExtension来自 Apache Commons IO

这是一个如何使用它的示例(您可以指定完整路径或仅指定文件名):

import org.apache.commons.io.FilenameUtils;

// ...

String ext1 = FilenameUtils.getExtension("/path/to/file/foo.txt"); // returns "txt"
String ext2 = FilenameUtils.getExtension("bar.exe"); // returns "exe"

Maven 依赖:

<dependency>
  <groupId>commons-io</groupId>
  <artifactId>commons-io</artifactId>
  <version>2.6</version>
</dependency>

Gradle Groovy DSL

implementation 'commons-io:commons-io:2.6'

Gradle Kotlin DSL

implementation("commons-io:commons-io:2.6")

其他 https://search.maven.org/artifact/commons-io/commons-io/2.6/jar

关于java - 如何在 Java 中获取文件的文件扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3571223/

相关文章:

java - 从源包加载文件

python - 将脚本的目录添加到字符串中

c++ - 如何从 C++ 读取 .spc 文件?

java - 如何在 Java 中配置 .dll 文件?

java - AWS @LambdaFunction 无法反序列化为 POJO

c - 将文件分成相等的部分,每个部分 128 字节

Java - 逐字 rune 本文件读入二维数组

java - java.io.File 中允许的文件分隔符

java - 如何在java nio中创建多个监听同一端口的udp客户端?

java - 如何在 Akka Java 中使用 Patterns.askWithReplyTo