【问题标题】:How to execute cmd command in Java class?如何在 Java 类中执行 cmd 命令?
【发布时间】:2012-12-25 08:59:04
【问题描述】:

我想在 java 代码中调用 cmd 命令。我说:

String str ="C:/uploaded_files/111.txt";
Process process = Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c",str});
System.out.println(str);

不要得到111.txt。这很奇怪,因为当这段代码在jsp 中时一切正常。有什么问题?

【问题讨论】:

  • 您希望从运行程序中得到什么结果,您实际得到什么?
  • 可能与文件写入权限有关。
  • 遵循我在对this answer 的评论中给出的相同建议。
  • @Gustav Grusell 嗯,我想在C:/uploaded_files 文件夹中获取 111.txt。但文件夹仍然是空的。
  • 嗯,他很可能只打印了字符串。他从不要求过程输出。

标签: java process cmd runtime.exec


【解决方案1】:

这段代码有什么问题。这是完美的工作。打开并显示文件 111.txt 的内容

try {
    String str ="C:/uploaded_files/111.txt";
    Process process = Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c",str});
    System.out.println(str);
    } catch (Exception ex) {}

请检查路径是否正确,目录和文件是否有遗漏或拼写

【讨论】:

    【解决方案2】:

    希望不是cmd.exe请试试这个:

    String[] command = new String[3];
    command[0] = "cmd";
    command[1] = "/c";
    command[2] = "C:/uploaded_files/111.txt";
    
    Process p = Runtime.getRuntime().exec (command);
    

    【讨论】:

    • 你是什么意思I hope It is not cmd.exe
    【解决方案3】:

    如果你想在记事本中打开文件,试试这个。

    String file = "C:/uploaded_files/111.txt";
    
    Runtime.getRuntime().exec("cmd", "/c", "notepad.exe", file);
    

    希望这是你想要的。

    【讨论】:

      最近更新 更多