当前位置: 首页 > 知识库问答 >
问题:

如何使用java中的另一个程序执行cmd命令

郭盛
2023-03-14

我想制作一个打开另一个java程序的程序。如何在编译和运行java程序时运行/执行cmd命令。

例如c:\Users\Burnok

如何在java程序中实现这一点?请帮忙。

我尝试了这段代码,但编译成功,但如果我尝试运行HelloWorld。类它表示无法找到或加载主类。

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;


public class Test {

     private static void printLines(String name, InputStream ins) throws Exception {
            String line = null;
            BufferedReader in = new BufferedReader(
                new InputStreamReader(ins));
            while ((line = in.readLine()) != null) {
                System.out.println(name + " " + line);
            }
          }

      private static void runProcess(String command) throws Exception {
        Process pro = Runtime.getRuntime().exec(command);
        printLines(command + " stdout:", pro.getInputStream());
        printLines(command + " stderr:", pro.getErrorStream());
        pro.waitFor();
      }

      public static void main(String[] args) {
        try {
            runProcess("javac src/HelloWorld.java");
            runProcess("java src/HelloWorld");
        } catch (Exception e) {
          e.printStackTrace();
        }
      }

}

以下是java src/HelloWorld stderr的错误:错误:无法找到或加载主类src。你好世界

共有1个答案

慕容光启
2023-03-14

在从另一个目录运行时,应该提到类路径

语法是java-classpathdirectory_to_program程序

try {
        runProcess("javac src/HelloWorld.java");
        runProcess("java -classpath src HelloWorld");
    } catch (Exception e) {
      e.printStackTrace();
    }

阅读了解更多信息如何从其他目录运行java程序?

 类似资料:
  • 问题内容: 我正在尝试通过Java执行命令行参数。例如: 上面的命令打开命令行,但是不执行或。有任何想法吗?我正在运行Windows XP,JRE6。 (我已经对问题进行了更详细的修订。以下答案很有用,但不能回答我的问题。) 问题答案: 你发布的代码使用自己的命令启动三个不同的过程。要打开命令提示符然后运行命令,请尝试以下操作(请勿自己尝试):

  • 问题内容: 我编写了几个简单的Java应用程序,分别称为A.jar,B.jar。 现在,我想编写一个GUI Java程序,以便用户可以按按钮A执行A.jar,按按钮B执行B.jar。 我也想在我的GUI程序中输出运行时进程的详细信息。 有什么建议吗? 问题答案: 如果我理解正确,那么看来你想在Java GUI应用程序内部的单独进程中运行jar。 为此,你可以使用: 缓冲过程输出始终是一种很好的做法

  • 问题内容: 作为程序的一部分,我有一个连接管理器,该管理器从客户端接收连接,然后为客户端提供用于连接的端口号和密码。这时经理需要调用jar文件,我必须使用一些参数来处理此连接,然后继续操作(忽略其他程序在做什么)。 我的问题一直在执行jar文件。我查找了类似的问题,并尝试使用流程生成器和Runtime.exec。我在jar文件中移动,并检查了它的权限。它只是拒绝在另一个Java程序中工作,而在命令

  • 问题内容: 在Windows上制作mysqldump非常简单,只需: 打开并放入mysqldump uroot ppassword数据库> c:/data.sql 这将为所需的数据库生成一个SQL转储文件。 我正在编写一个控制台应用程序,因此我可以运行以下命令: 我尝试以下代码无济于事: 如何启动进程并成功发送命令? 问题答案: 为什么不直接调用mysqldump是有原因的? 如果 是 有原因的,

  • 问题内容: 我想做的是从Java应用程序多次运行文件。因此,我设置了一个运行以下代码的时间: 问题是,现在每次运行命令时,都会弹出一个新的cmd窗口。但是,我想要的只是开始时弹出的 一个 窗口,该窗口用于显示以下命令调用中的所有数据。 我怎样才能做到这一点? 问题答案: 使用 & &,您可以执行多个命令,一个接一个地执行: 使用多个命令和条件处理符号 您可以使用条件处理符号从单个命令行或脚本运行多

  • 本文向大家介绍Windows系统中Java调用cmd命令及执行exe程序的方法,包括了Windows系统中Java调用cmd命令及执行exe程序的方法的使用技巧和注意事项,需要的朋友参考一下 Java调用cmd命令,并输出显示信息: Java启动本机应用程序EXE的三种方式: 第一种方式:利用cmd方式  第二种方式:利用ProcessBuilder调用cmd方式 第三种方式:使用Desktop启