当前位置: 首页 > 面试题库 >

Java:将文件名分为基础和扩展名[重复]

祁均
2023-03-14
问题内容

这个问题已经在这里有了答案

如何获取Java中文件的文件扩展名? (30个答案)

2年前关闭。

是否有比类似的方法更好的获取文件基名和扩展名的方法

File f = ...
String name = f.getName();
int dot = name.lastIndexOf('.');
String base = (dot == -1) ? name : name.substring(0, dot);
String extension = (dot == -1) ? "" : name.substring(dot+1);

问题答案:

我知道其他人已经提到过String.split,但这是一个仅产生 两个 标记(基本标记和扩展标记)的变体:

String[] tokens = fileName.split("\\.(?=[^\\.]+$)");

例如:

"test.cool.awesome.txt".split("\\.(?=[^\\.]+$)");

产量:

["test.cool.awesome", "txt"]

正则表达式告诉Java在任何时间段前分割,后跟任意数量的非周期,然后是输入结束。只有一个符合此定义的时间段(即 最后一个 时间段)。

技术上来讲,正则地说,该技术称为零宽度正向超前。

顺便说一句,如果您想分割路径并使用带正斜杠的路径来获取完整的文件名(包括但不限于点扩展名),

    String[] tokens = dir.split(".+?/(?=[^/]+$)");

例如:

    String dir = "/foo/bar/bam/boozled"; 
    String[] tokens = dir.split(".+?/(?=[^/]+$)");
    // [ "/foo/bar/bam/" "boozled" ]


 类似资料:
  • 我正在为我的公司开发一个小Java程序。在这个程序中,我需要重新从我的本地文件夹一些文件,但我需要搜索文件的前三个字符和扩展名。在阅读java文档时,我看到库已经存在,因此为了按照名称和扩展名过滤文件,我看到了和构造,我已经实现如下,所以我尝试使用它。 是否可以筛选各种文件名,并将连接到?

  • 本文向大家介绍如何通过java获取文件名和扩展名,包括了如何通过java获取文件名和扩展名的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了如何通过java获取文件名和扩展名,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 如:文件filePath = "E:\\test\\test.dxf" 1.获取文件名 eg:获取 test.dxf

  • 插件和扩展是一种扩充浏览器功能的技术,在之前我们介绍过NPAPI插件技术,在Chromium中,远远不只是这一种技术,这里面包括PPAPI机制,NativeClient技术和Extension机制。这些新技术极大的扩展了浏览器的能力,下面逐次来介绍它们。限于篇幅,这里只是简单介绍一下它们的基础知识,详细的内容会有专门的文章来介绍它们。 PPAPI插件 PPAPI的提出是因为NPAPI的可移植性和性

  • 所以我试图从一个文件中获取扩展名,这样我就可以将它与一个字符串进行比较,看看扩展名是否与我要查找的扩展名匹配。然而,目前我认为我能够得到扩展,但然后比较它与我想要找到的是导致我的应用程序崩溃和关闭立即。此外,我希望它能够处理没有扩展名的文件,只是将它们冒充为与所需的文件扩展名不匹配的文件。下面是执行此操作的代码片段,希望有人能向我解释我在这里做错了什么。 附注:我是Java和Android开发的新

  • cmf_get_file_extension($filename) 功能 获取文件扩展名 参数 $filename: string 文件名 返回 string 文件扩展名

  • X2.2.0新增 sp_get_file_extension($filename) 功能: 获取文件扩展名 参数: $filename: 文件名 返回: 类型string,文件扩展名 使用: $suffix = sp_get_file_extension('23232.png');