2013-02-07 192 views
1

我可以有路徑以下文件名:獲取路徑/ FILNAME的路徑,但該文件沒有擴展

/somepath /文件

該文件沒有擴展名,所以在Java中的getPath結束返回整個路徑和文件名。假設路徑/文件名中的最後一項始終是一個文件名,我該如何提取路徑?最簡單的解決方案就是查找最後一個正斜槓。但有沒有一個內置的API來獲取它?

編輯:錯誤。我的意思是我如何提取路徑(而不是文件名)。抱歉。

回答

0

使用lastIndexOf()substring()

System.out.println(fileObj.getPath().substring(0, f.getPath().lastIndexOf("/")); 

編輯:剛剛發現的getParent()存在,它會直接給你文件的那個目錄。

System.out.println(fileObj.getParent()); 
+0

對不起,我的意思是找到路徑。 – AndroidDev

+0

我編輯了我的答案,以獲得路徑。 – Achrome

2
 File file = new File("/somepath/file"); 
    file.getName(); 

編輯:如果你想嘗試的路徑這

file.getCanonicalPath(); 

你也可以使用文件對象的屬性,以提取各種文件類型相關的數據。

+0

這是獲取名稱的更好方法。 +1 – Achrome

+0

對不起,我的意思是走的路。 – AndroidDev

0

試試getName()File中的方法。

+0

對不起,我的意思是走的路。上面做了一個編輯。 – AndroidDev

0

使用的getParent()

​​

這會給你 「/ somepath」 回來。

2

使用Java SE 7:

Path path = Paths.get("/somepath/file"); 
String fileName = path.getFileName().toString(); 

Path parentPath = path.getParent(); 

編輯:

注意:根據你在做什麼,考慮不進行硬編碼的根目錄下(這裏: 「/」)和分隔符(在這裏:「/」)並確保代碼與平臺無關。