2009-01-27 61 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"