2014-10-29 45 views
-1

我試圖構建一個在Linux中實現「cd」命令的命令行解釋器。我不知道假設這個功能是如何工作的。在Java中更改當前目錄以在Linux中實現「cd」命令

我知道這個問題已經在這裏找到答案: Changing the current working directory in Java?

但我是新來的Java,我讀了很多關於這一點,仍然沒有得到如何new File(parent, path)會幫我改目錄。請幫忙嗎?

+0

你讀過其他答案,如:http://stackoverflow.com/a/13981910/829571 – assylias 2014-10-29 13:21:57

+0

是的。但我試圖建立一個在Linux中實現「cd」命令的cli。我只是想改變一下,改變目前的dirctory沒有進一步的工作。 – dili 2014-10-29 13:25:30

+0

有很多方法可以得到你想要的東西,是的,其中一個方法是改變當前的目錄,但我不會推薦這樣做。您可能希望跟蹤應用程序中的目錄路徑,並能夠使用以父文件夾路徑作爲參數的方法。 – 2014-10-29 13:29:02

回答

1

我用了一個全局變量來保存我當前方向的路徑。 cd只會改變它,所有其他命令相應地使用/修改它。我猜想沒什麼更簡單的。

1

它不會幫你改變目錄;建議使用而不是更改當前工作目錄。 Java的設計者的立場是,如果你的應用程序的某些部分需要一個特定的上下文目錄而不是從當前的工作目錄繼承底層操作系統,這應該通過依賴顯式的雙參數File構造函數來完成(並且同樣對於任何其他基於文件的API)。

請注意,這是很有道理的,因爲當前工作目錄是有效的全局狀態,可變的全局狀態是一個衆所周知的潘多拉盒子的無法追蹤的錯誤。

相關問題