【问题标题】:Changing the current directory in Java to implement "cd" command in linux [closed]更改Java中的当前目录以在linux中实现“cd”命令[关闭]
【发布时间】:2014-12-25 05:20:33
【问题描述】:

我正在尝试构建一个在 linux 中实现“cd”命令的命令行解释器。我不知道应该如何工作的功能。

我知道这里已经回答了这个问题: Changing the current working directory in Java?

但我是 Java 新手,我阅读了很多关于此的内容,但仍然不明白 new File(parent, path) 将如何帮助我更改目录。有什么帮助吗?

【问题讨论】:

  • 您是否阅读过其他答案,例如:stackoverflow.com/a/13981910/829571
  • 是的。但我正在尝试构建一个在 linux 中实现“cd”命令的 cli。我只想更改构建一个无需进一步工作即可更改当前目录的功能。
  • 有很多方法可以得到你想要的,是的,其中之一是更改当前目录,但我不建议这样做。您可能希望跟踪应用程序中的目录路径,并能够使用将父文件夹路径作为参数的方法。
  • 另外,我建议您阅读How to Ask,因为您现在的问题非常广泛。
  • 我编辑了问题。

标签: java linux directory command cd


【解决方案1】:

它不会帮助您更改目录;建议使用 而不是 更改当前工作目录。 Java 设计者的立场是,如果您的应用程序的某些部分需要一个特定的上下文目录而不是从底层操作系统继承的当前工作目录,这应该通过依赖显式的两个参数 File 构造函数来完成(对于任何其他基于文件的 API 也是如此)。

请注意,这很有意义,因为当前工作目录实际上是全局状态,而可变全局状态是众所周知的潘多拉魔盒,其中包含无法追踪的错误。

【讨论】:

    【解决方案2】:

    我使用了一个全局变量来保存我当前方向的路径。 cd 只会更改它,所有其他命令都会相应地使用/修改它。我猜没有比这更简单的了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      • 2023-04-02
      • 2015-01-01
      • 2014-07-25
      • 2023-04-01
      • 1970-01-01
      • 2012-06-25
      相关资源
      最近更新 更多