是否可以移動到Java目錄下一級目錄?移動到一個目錄下一級目錄
例如,在命令提示符:
C:\Users\foo\
我可以用cd..
去:
C:\Users\
是否有可能做到這一點在Java
,因爲我使用的系統得到一個目錄.getProperty( 「user.dir來」);然而,這不是我想要工作的目錄,而是目錄下的1級。
我想過使用Path類方法; subpath(i,j)
,但是如果將「user.dir」更改爲另一個目錄,則返回的subpath
將會不同。
是否可以移動到Java目錄下一級目錄?移動到一個目錄下一級目錄
例如,在命令提示符:
C:\Users\foo\
我可以用cd..
去:
C:\Users\
是否有可能做到這一點在Java
,因爲我使用的系統得到一個目錄.getProperty( 「user.dir來」);然而,這不是我想要工作的目錄,而是目錄下的1級。
我想過使用Path類方法; subpath(i,j)
,但是如果將「user.dir」更改爲另一個目錄,則返回的subpath
將會不同。
File類本身可以做到這一點。
File upOne = new File(System.getProperty("user.dir")).getParentFile()
http://docs.oracle.com/javase/6/docs/api/java/io/File.html#getParentFile%28%29
在我的系統上,「..」是路徑的有效組件。
這裏是一個例子。
File file;
String userDir = System.getProperty("user.dir");
file = new File(userDir);
System.out.println(file.getCanonicalPath());
file = new File(userDir+"/..");
System.out.println(file.getCanonicalPath());
輸出是:
C:\ano\80g\workaces\_JAV_1.0.0\CODE_EXAMPLE
C:\ano\80g\workaces\_JAV_1.0.0
非常感謝! – Jef 2012-11-29 12:25:45
由於以前的答案已經指出的那樣,你可以使用File
做到這一點。另外,使用Java 7 NIO類,你似乎做,下面也應該這樣做:
Paths.get(System.getProperty("user.dir") + "/..").toRealPath();
注意,「/」是Windows文件系統上的有效目錄分隔符,以及(雖然我在Linux上測試這個代碼)。
我相信'C:\\ Users \\ foo \\ ..'是允許的,所以你應該可以將它追加到路徑中。 – Jon 2012-03-13 02:23:12
嗨,試過Path workingDirPath = Paths.get(System.getProperty(「user.dir」)+「\\ ..」); println出路徑 附加..不會讓我失望一級。 – sutoL 2012-03-13 02:27:55