通过控制台创建文件时出现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.<init>(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内部可以调用外部进程? (如果你要指定一个奇怪的要求,它有助于给它一些更多的背景……)

上一篇:seq


下一篇:android – 无法在SD卡上创建一个文件夹 – mkdir总是返回false