2014-10-29 43 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)。

请注意,这是很有道理的,因为当前工作目录是有效的全局状态,可变的全局状态是一个众所周知的潘多拉盒子的无法追踪的错误。

相关问题