Java Runtime Exec似乎忽略了撇号
一个简单的例子是尝试将cd刻录到包含两个以上单词的目录。当我运行下面的代码时,我没有得到预期的错误:Java Runtime Exec似乎忽略了撇号,java,command,Java,Command,一个简单的例子是尝试将cd刻录到包含两个以上单词的目录。当我运行下面的代码时,我没有得到预期的错误:/usr/bin/cd:line 2:cd:/Directory,其中有两个字:没有这样的文件或目录,但是这个错误:/usr/bin/cd:line 2:cd:'/Directory:没有这样的文件或目录。因此,它似乎忽略了撇号,只是寻找一个名为“directory”的目录 代码: 你应该用这种方法,这样更安全。因此,这应该不使用引号或撇号: Runtime.getRuntime().exec(n
/usr/bin/cd:line 2:cd:/Directory,其中有两个字:没有这样的文件或目录
,但是这个错误:/usr/bin/cd:line 2:cd:'/Directory:没有这样的文件或目录
。因此,它似乎忽略了撇号,只是寻找一个名为“directory”的目录
代码:
你应该用这种方法,这样更安全。因此,这应该不使用引号或撇号:
Runtime.getRuntime().exec(new String[] {"cd", "/Directory With Two Words"});
同样值得一看JavaWorld上的优秀文章
Runtime.getRuntime().exec(new String[] {"cd", "/Directory With Two Words"});