java如何运行步骤cmd?Java执行cmd命令方法有哪些?

阳光 2021-03-02 17:29:12 java常见问答 9013

写好一个java程序之后,我们的最终目的就是可以正确的运行程序,如果程序运行正确了,那么代码也就没有什么问题了,可是java如何运行步骤cmd?接下来,我们就来给大家讲解一下这方面的内容。

1、首先用记事本写一个简单的Java程序,保存成.Java文件。

2、在电脑搜素框中搜索cmd或者直接使用键盘菜单键+r 打开命令窗口。

3、在出现的窗口输入 cd 文件位置,我放在桌面就输入cd Desktop 按下回车,如果再输入 dir Desktop 按下回车就可以将桌面上的文件显示出来(ps:可以不这么做,直接在放Java文件的文件名后输入也可以)。

4、在你存放Java文件的地址后面输入 javac a.java ,a是最开始起的名字,javac的意思是编译这个Java文件。按下回车在你存放.Java文件的地方会出现一个新的文件。

5、然后再次输入 Java a按下回车,就可以完成Java程序的运行啦,成功输出 helloworld。

1.一般执行方法,代码如下,这种方法有时执行exe时会卡在那里。

Java执行cmd命令方法有哪些?

1.一般执行方法,代码如下,这种方法有时执行exe时会卡在那里。

//一般的执行方法,有时执行exe会卡在那 stmt要执行的命令
public static void executive(String stmt) throws IOException, InterruptedException
{
    Runtime runtime = Runtime.getRuntime(); //获取Runtime实例
    //执行命令
    try
    {
        String[] command = {
            "cmd"
            , "/c"
            , stmt
        };
        Process process = runtime.exec(command);
        // 标准输入流(必须写在 waitFor 之前)
        String inStr = consumeInputStream(process.getInputStream());
        // 标准错误流(必须写在 waitFor 之前)
        String errStr = consumeInputStream(process.getErrorStream());
        new ProcessClearStream(process.getInputStream(), "INFO")
            .start();
        new ProcessClearStream(process.getErrorStream(), "ERROR")
            .start();
        int proc = process.waitFor();
        InputStream errorStream = process.getErrorStream(); //若有错误信息则输出
        if (proc == 0)
        {
            System.out.println("执行成功");
        }
        else
        {
            System.out.println("执行失败" + errStr);
        }
    }
    catch (IOException | InterruptedException e)
    {
        e.printStackTrace();
    }
}
/**
* 消费inputstream,并返回
*/
public static String consumeInputStream(InputStream is) throws IOException
{
    BufferedReader br = new BufferedReader(new InputStreamReader(is, "GBK"));
    String s;
    StringBuilder sb = new StringBuilder();
    while ((s = br.readLine()) != null)
    {
        System.out.println(s);
        sb.append(s);
    }
    return sb.toString();
}

2.第二种方法是先生成一个缓存文件,用来缓存执行过程中输出的信息,这样在执行命令的时候不会卡。代码如下:

//这个方法比第一个好,执行时不会卡 stmt要执行的命令
public static void aaa(String stam)
{
    BufferedReader br = null;
    try
    {
        File file = new File("D:\\daemonTmp");
        File tmpFile = new File("D:\\daemonTmp\\temp.tmp"); //新建一个用来存储结果的缓存文件
        if (!file.exists())
        {
            file.mkdirs();
        }
        if (!tmpFile.exists())
        {
            tmpFile.createNewFile();
        }
        ProcessBuilder pb = new ProcessBuilder()
            .command("cmd.exe", "/c", stam)
            .inheritIO();
        pb.redirectErrorStream(true); //这里是把控制台中的红字变成了黑字,用通常的方法其实获取不到,控制台的结果是pb.start()方法内部输出的。
        pb.redirectOutput(tmpFile); //把执行结果输出。
        pb.start()
            .waitFor(); //等待语句执行完成,否则可能会读不到结果。
        InputStream in = new FileInputStream(tmpFile);
        br = new BufferedReader(new InputStreamReader( in ));
        String line = null;
        while ((line = br.readLine()) != null)
        {
            System.out.println(line);
        }
        br.close();
        br = null;
        tmpFile.delete(); //卸磨杀驴。
        System.out.println("执行完成");
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
    finally
    {
        if (br != null)
        {
            try
            {
                br.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
    }
}

java在cmd运行的步骤还是很简单的,其实只要按照相关提示去操作就可以了,另外,Java执行cmd命令的两种方法大家一定要掌握,掌握这些技巧可以帮助大家更好的开发!最后大家如果想要了解更多java入门知识,敬请关注奇Q工具网。

推荐阅读:

java在哪里编程?java实用编程工具

java如何做图?实例分享

java怎么做网页?要注意什么?