2010-06-24 23 views

回答

4

我想你最好只是用

File f = new File("e:\\files\\report\\fruits\\apples"); 
String parent = f.getParent(); 

I F你堅持只能用字符串,並假設「\」是路徑分隔符,你可以做這樣的事情:

String s = "e:\\files\\report\\fruits\\apples"; 
String parent = s.substring(0, s.lastIndexOf('\\')); 

但是你必須喜歡那裏是沒有字符「\」發現提防的邊緣情況。

+0

我也意識到,異常情況下很難處理,也是平臺問題,也許我會嘗試去文件對象的方式。 – nokheat 2010-06-24 02:07:02

+0

和我需要處理的情況下,當用戶添加\\或不在字符串的末尾 – nokheat 2010-06-24 02:09:12

3

我不會被「串撲」這樣做是因爲它將在路徑名語法中嵌入各種平臺依賴關係到您的代碼中。相反,請使用java.io.File類。

String parent = new File("e:\files\report\fruits\apples").getParent(); 

或者更好的是:

File parent = new File("e:\files\report\fruits\apples").getParentFile(); 
0

斯蒂芬使有關平臺的依賴一個有效點,但在這裏就是你想要的:

String dir = "e:\\files\\report\\fruits\\apples"; 
String parent = dir.replaceAll("\\\\[^\\\\]+$", "");