Java 如何从文件URI中提取文件名并为其创建链接?

Java 如何从文件URI中提取文件名并为其创建链接?,java,filepath,Java,Filepath,我的问题是: 来自类似“/usr/folder1/folder2/filename.ext”的字符串 我必须提取文件名,仅用于显示(仅限filename.ext)。 我的问题是我应该怎么做?在“/”上拆分并使用最后一个元素是一种方法,但对我来说味道不好 我必须创建一个超链接,它使用文件的URI作为目标。这将类似于file://domain.com/usr/folder1/folder2/filename.ext 我查看了java.net中的URI和URL接口,但在那里找不到任何有用的东西

我的问题是:

来自类似“/usr/folder1/folder2/filename.ext”的字符串

  • 我必须提取文件名,仅用于显示(仅限filename.ext)。
    • 我的问题是我应该怎么做?在“/”上拆分并使用最后一个元素是一种方法,但对我来说味道不好
  • 我必须创建一个超链接,它使用文件的URI作为目标。这将类似于file://domain.com/usr/folder1/folder2/filename.ext
我查看了java.net中的URI和URL接口,但在那里找不到任何有用的东西


此外,在某些情况下,我的文件路径可以有逗号、空格等(Windows文件夹)。因此,在给出任何想法时,请记住这一点。

您应该看看。特别是在方法方面。

您可以尝试以下方法:

File file = new File("/usr/folder1/folder2/filename.ext");
System.out.println(file.getName());
如果文件不存在,我不确定这是否有效,但我刚刚尝试过,它似乎正常工作。

提供了此问题的解决方案:,返回文件名+扩展名

String filename = FilenameUtils.getName("/usr/folder1/folder2/filename.ext");
System.out.println(filename); // Returns "filename.ext"

提出的解决办法并不普遍。请改为尝试。我需要传递给
文件
构造函数的参数是一个
Uri
,该参数作为无效参数被拒绝。将Uri转换为字符串非常简单:
File File=new File(mimageri.toString())