2009-01-27 58 views
8

我的问题是::如何从文件URI中提取文件名并为其创建链接?

从像“/usr/folder1/folder2/filename.ext”

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

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

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

+0

提出的解决方案不是通用的。改为尝试http://stackoverflow.com/a/10944586/715269。 – Gangnus 2012-06-08 07:26:14

回答

15

你可以尝试这样的事:

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

我不知道,如果该文件不存在,这是否会工作,但都只是尝试它,它似乎工作确定。

+0

thx,我懒得给代码示例。 ;) – Nicolas 2009-01-27 08:23:00

4

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

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