通过控制台制作文件的Java错误

标签 java runtime mkdir

我想使用这段代码通过 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 命令外壳理解的命令。

所以你可以运行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 中调用外部进程? (如果你要指定一个奇怪的要求,它有助于提供更多关于它的上下文......)

关于通过控制台制作文件的Java错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28537939/

相关文章:

java - 更改图像 RGB 值的 lsb 值给出不一致的值

java - 是什么导致组件 requestFocus 有时失败?

Java 一直等待 getRuntime().exec

python-3.x - 在python中创建文件夹作为函数参数

PowerShell mkdir别名+ Set-StrictMode -Version2。奇怪的错误。为什么?

java - 无法连接 mkdir() JavaFX 的日期和文件名

java - java Jung Graph包中的二叉树

java - 如何构建 HQL 查询,即自动连接标记为 LAZY 的子表?

c# - C# 中的动态构造函数

java - 运行时 SQL 查询生成器