仅在Java中使用程序的持续时间更改目录

时间:2014-11-16 16:10:06

标签: java directory working-directory

使用各种Java API我可以成功地在Java中实现以下shell命令:pwd, dir/ls, copy/cp, del/rm而不调用shell本身来为我执行这些命令。

如,

    case "pwd":
        System.out.println(System.getProperty("user.dir"));
        break;

    case "dir":
    case "ls":
        File myDir = new File(System.getProperty("user.dir"));
        String[] filesInDir = myDir.list();
        for(String fn: filesInDir)
            System.out.println(fn);
        break;

唯一给我带来麻烦的基本命令是“cd”。肯定有一个API函数可以让我这样做吗?但是,如果有我错过了它。

注意:我不是要在程序外部执行任何操作,我只是希望能够在程序运行期间以交互方式导航文件系统,并通过API以非常有限的方式操作文件。换句话说,这个程序模拟了一个非常基本的shell。

我已经看到了这些问题,但他们并没有真正帮助过,有人说这是不可能的,是真的吗?

How to change current directory in JAVA?

Changing the current working directory in Java?

Changing the current directory in Java to implement "cd" command in linux

将Windows 7与JDK 7一起使用。

1 个答案:

答案 0 :(得分:1)

没有这样的api函数,但您可以模拟它:将当前目录存储在变量中。在初始化期间,将此变量分配给System.getProperty(" user.dir")。在所有方法中使用此变量。 " CD"命令应该改变这个变量。