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

时间:2009-01-27 07:57:54

标签: java filepath

我的问题是::

来自“/usr/folder1/folder2/filename.ext”

之类的字符串
  • 我必须仅为显示提取文件名(仅限filename.ext)。
    • 我的问题是我应该怎么做?拆分“/”并取最后一个元素是一种方式,但对我来说并不好闻。
  • 我必须创建一个使用该文件的URI作为目标的超链接。这将类似于file://domain.com/usr/folder1/folder2/filename.ext

我查看了java.net中的URI和URL接口,但在那里找不到任何有用的东西。

此外,在某些情况下,我的文件路径可以包含COMMA,SPACE等(Windows文件夹)。因此,在提出任何想法时请记住这一点。

3 个答案:

答案 0 :(得分:15)

您可以尝试这样的事情:

File file = new File("/usr/folder1/folder2/filename.ext");
System.out.println(file.getName());

如果文件不存在,我不确定这是否有效,但是刚刚尝试了它,它似乎工作正常。

答案 1 :(得分:4)

CommonsIO为此问题提供解决方案:FilenameUtils.getName(),返回文件名+扩展名。

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

答案 2 :(得分:3)

您应该查看File class。特别是getName()方法。