Ber*_*ice 5 java file utility-method
我需要从文件名中提取扩展名.
我知道这可以用于单个扩展,例如,.gz或者.tar通过使用filePath.lastIndexOf('.')或使用FilenameUtils.getExtension(filePath)来自Apache commons-io的实用程序方法.
但是,如果我有一个扩展名的文件.tar.gz怎么办?如何管理包含.字符的扩展名的文件?
如果您知道哪些扩展是重要的,您可以简单地明确检查它们。您将拥有一组已知扩展,如下所示:
List<String> EXTS = Arrays.asList("tar.gz", "tgz", "gz", "zip");
Run Code Online (Sandbox Code Playgroud)
您可以像这样获得(第一个)最长匹配扩展名:
String getExtension(String fileName) {
String found = null;
for (String ext : EXTS) {
if (fileName.endsWith("." + ext)) {
if (found == null || found.length() < ext.length()) {
found = ext;
}
}
}
return found;
}
Run Code Online (Sandbox Code Playgroud)
所以调用getExtension("file.tar.gz")会返回"tar.gz"。
如果您有大小写混合的名称,也许可以尝试将检查更改filename.toLowerCase().endsWith("." + ext)为循环内部。
| 归档时间: |
|
| 查看次数: |
2674 次 |
| 最近记录: |