8

我的问题是::

从像“/usr/folder1/folder2/filename.ext”这样的字符串

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

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

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

4

3 回答 3

15

你可以尝试这样的事情:

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

如果文件不存在,我不确定这是否可行,但刚刚尝试过,它似乎可以正常工作。

于 2009-01-27T08:15:48.060 回答
4

CommonsIO针对这个问题提供了解决方案:FilenameUtils.getName(),返回文件名+扩展名。

String filename = FilenameUtils.getName("/usr/folder1/folder2/filename.ext");
System.out.println(filename); // Returns "filename.ext"
于 2014-03-14T11:49:48.413 回答
3

你应该看看File 类。特别是对于getName()方法。

于 2009-01-27T08:06:04.570 回答