关闭

java程序操作命令行

标签: java
809人阅读 评论(0) 收藏 举报
分类:

使用

在写java项目时, 有些特殊情况下需要用到操作命令行, 以前用过好几次, 都是用的时候从网上找, 用完又忘记, 用一次找一次, 所以这次干脆将其保存在这里.

/**
 * Created by shiyi on 16/8/30.
 */
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Command {
    public static void exeCmd(String commandStr) {
        BufferedReader br = null;
        try {
            Process p = Runtime.getRuntime().exec(commandStr);
            br = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line = null;
            StringBuilder sb = new StringBuilder();
            while ((line = br.readLine()) != null) {
                sb.append(line + "\n");
            }
            System.out.println(sb.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
        finally
        {
            if (br != null)
            {
                try {
                    br.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }

    public static void main(String[] args) {
        String commandStr = "ping www.taobao.com";
        Command.exeCmd(commandStr);
    }
}

命令行执行主要是对Runtime.getRuntime().exec()这个函数进行调用, 上述代码对其进行了封装, 作为一个类, 在执行完命令后同时会将终端返回结果给输出出来.

特殊点

今天使用命令行的目的是在java程序里对数据库进行备份, 也就是对mysqldump进行使用, 但是程序运行后, 并没有预期的执行结果. 查了资料后知道java操作命令不能支持管道操作, 而mysqldump的使用中恰恰用到了管道.
这种方法的解决方案很简单, 就是先将要操作的命令存为脚本,
linux- x.sh window- x.bat 再在exec里开始执行脚本的命令,
linux- sh x.sh window- x.bat
就可以绕过管道的问题.

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Java命令行程序构建工具-airline

以前对于开发Java命令行程序,我都是很头大的,命令行程序麻烦的是解析参数,以及一些帮助信息,今天在研究接口测试时偶然发现了一个工具可以让你快速构建命令行程序 github地址airline导入jar...
  • qhshiniba
  • qhshiniba
  • 2016-01-19 14:13
  • 3813

通过JAVA执行命令行程序

  • 2013-08-17 16:50
  • 1KB
  • 下载

命令行执行java程序

第一:简单的命令行(没有package)c:/temp/bin/GetGreeting.java public class GetGreeting { public static void m...
  • Lee_Decimal
  • Lee_Decimal
  • 2010-09-15 10:51
  • 35724

Perfect-Swift Mac环境下的常用指令

Perfect-Swift Mac环境下的常用指令
  • phyky
  • phyky
  • 2017-04-24 16:17
  • 408

JAVA 命令行运行java项目

多年以来 一直使用的是IDE 来写java 项目,导致很多的最基础的东西都渐渐模糊了. 最近遇到一个问题就是如果命令行来运行一个java项目 当然这不是初学的那个运行 HelloWord.java...
  • chen930724
  • chen930724
  • 2015-10-26 23:27
  • 5394

Java命令学习

来源:Hollis 链接:http://www.hollischuang.com/archives/110 一、jps jps位于jdk的bin目录下,其作用是显示当前系统的java进程情况,及其...
  • HEYUTAO007
  • HEYUTAO007
  • 2016-07-08 17:02
  • 1683

java命令行构建(一)

我们平时编写和编译java代码都是用ide,或用构建工具,ant或maven等.但编译代码归根到底是用jdk的原始命令,如javac,java等。工具用多了,基本的处理都不懂了,这在遇到一些新情况或新...
  • mingover
  • mingover
  • 2017-02-25 15:44
  • 1115

JAVA命令大全

java 命令大全
  • berniebd
  • berniebd
  • 2010-09-03 09:20
  • 14805

如何使用命令行编译和运行Java代码

如何使用命令行编译和运行Java代码由于被各种IDE和自动化构建工具“宠坏”了,最近我认识到我完全不知道如何使用命令行去运行Java代码。在玩了一个小时的猜谜游戏后,我花了5分钟,尝试去编译一小段代码...
  • shuiyuwentian
  • shuiyuwentian
  • 2017-12-02 22:52
  • 38

java命令大全

转载地址:http://www.cnblogs.com/langtianya/p/4208135.html JAVA命令大全 1、java.exe: ====================...
  • yang889999888
  • yang889999888
  • 2017-05-31 19:49
  • 294
    ~~~
    欢迎访问我的新博客地址:shiyi.fightcoder.com
    有问题,可以发邮件到 shiyi19960604@qq.com ,不要私信了,以后大概不太登csdn了。
    个人资料
    • 访问:242905次
    • 积分:4176
    • 等级:
    • 排名:第8517名
    • 原创:166篇
    • 转载:8篇
    • 译文:0篇
    • 评论:86条
    博客专栏
    最新评论