文档章节

Java调用命令行程序

hutaishi
 hutaishi
发布于 2017/03/29 11:55
字数 225
阅读 4
收藏 0

      命令行程序可以帮助我们做很多事情。日常开发中经常需要使用命令。但有时候我们需要在程序中使用命令行程序。Java如何调用命令行程序(主要是linux下命令)呢?

    每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。应用程序不能创建自己的 Runtime 类实例。

    


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

/**
 * Created by hutaishi on 2017/3/29.
 */
public class Main {

    public static void main(String[] args) {

        InputStream in = null;
        String[] cmd = new String[]{"cmd.exe", "/C", "ipconfig"};

        try {
            Process process = Runtime.getRuntime().exec(cmd);
            in = process.getInputStream();
            BufferedReader read = new BufferedReader(new InputStreamReader(in, "GBK"));

            String line = null;

            while ((line = read.readLine()) != null) {
                System.out.println(line);
            }

            int exitValue = process.waitFor();
            System.out.println("返回值:" + exitValue);
            process.getOutputStream().close();       // 不要忘记了一定要关


        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }

}

输出如下:

© 著作权归作者所有

hutaishi
粉丝 5
博文 72
码字总数 82359
作品 0
广州
程序员
私信 提问
关于 Java Scripting API 您不知道的 5 件事

现在,许多 Java 开发人员都喜欢在 Java 平台中使用脚本语言,但是使用编译到 Java 字节码中的动态语言有时是不可行的。在某些情况中,直接编写一个 Java 应用程序的脚本 部分 或者在一个脚本...

红薯
2010/09/12
525
2
你必须知道的 5 个 JVM 命令行标志

本文是Neward & Associates的总裁Ted Neward为developerworks独家撰稿“你不知道5个……”系列中的一篇,JVM是多数开发人员视为理所当然的Java功能和性能背后的重负荷机器。然而,我们很少有...

yykj
2013/06/26
3.9K
20
Linux 下shell启动Java Main函数脚本

#!/bin/sh # #该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用, #也可以作为启动java程序的独立脚本来使用。 #警告!!!:该脚本stop部分使用系统kill命令来强...

心月狐
2018/05/14
0
0
关于 JVM 命令行标志您可能不知道的 5 件事

简介: Java™ 虚拟机有数百个命令行选项,被经验丰富的开发人员用来调优 Java 运行时。本文中,您将学习如何监控和记录编译器性能、禁用显式垃圾收集(System.gc();)、扩展 JRE 等等。 JV...

红薯
2010/10/13
755
3
CVE-2019-0232: Apache Tomcat RCE 漏洞分析

作者:Lyle 本文为作者投稿,Seebug Paper 期待你的分享,凡经采用即有礼品相送! 投稿邮箱:paper@seebug.org 简述 利用前提 该漏洞是由于Tomcat CGI将命令行参数传递给Windows程序的方式存...

Lyle
06/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

家庭作业——苗钰婷

2 编写一个程序,发出一声警报,然后打印下面的文本: Startled by the sudden sound, Sally shouted, "By the Great Pumpkin, what was that! #include<stdio.h>int main(){......

OSC_Okruuv
22分钟前
4
0
经典系统设计面试题解析:如何设计TinyURL(一)

原文链接: https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
23分钟前
2
0
2.面向对象设计原则(7条)

开闭原则 开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 实现方法 可以通过“抽象约束、封装变化”来实...

Eappo_Geng
26分钟前
6
0
8086汇编基础 debug P命令 一步完成loop循环

    IDE : Masm for Windows 集成实验环境 2015     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   ......

志成就
30分钟前
3
0
使用nodeJS实现前端项目自动化之项目构建和文件合并

本文转载于:专业的前端网站➜使用nodeJS实现前端项目自动化之项目构建和文件合并 前面的话   一般地,我们使用构建工具来完成项目的自动化操作。本文主要介绍如何使用nodeJS来实现简单的项...

前端老手
43分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部