通过控制台制作文件时出现Java错误

我想使用此代码通过java中的cmd创建一个文件

Runtime.getRuntime().exec("mkdir C:\\Users\\Nick\\test"); 

我得到这个恼人的错误:

  Exception in thread "main" java.io.IOException: Cannot run program "mkdir": CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at LFID.main(LFID.java:11) Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) ... 5 more 

我不知道是什么导致它如此帮助。

请不要告诉我如何创建不通过cmd的文件夹,我需要这样做。 谢谢。

mkdir不是一个可以作为单独进程启动的独立可执行文件 – 它是Windows命令shell可以理解的命令。

所以你可以运行cmd.exe /c mkdir ...

 Runtime.getRuntime().exec("cmd.exe /c mkdir c:\\Users\\Nick\\test"); 

要么:

 Runtime.getRuntime().exec( new String[] { "cmd.exe", "/c" "mkdir" "c:\\Users\\Nick\\test"}); 

…但我仍然建议只使用File.mkdir …为什么在Java中可以调用外部进程? (如果你要指定一个奇怪的要求,它有助于给它一些更多的背景……)