学习啦>学习电脑>操作系统>Linux教程>

java执行系统命令linu

志艺分享

  通过java.lang.Runtime 类可以方便的调用操作系统命令,或者一个可执行程序,下面的小例子我在windows和linux分别测试过,都通过。接下来是小编为大家收集的java执行系统命令linux,希望能帮到大家。

  java执行系统命令linux的方法

  基本原理是,首先通过 Runtime.getRuntime() 返回与当前Java 应用程序相关的运行时对象,然后调用run.exec(cmd) 另启一个进程来执行命令(cmd为要执行的命令)。

  一、JAVA调用可执行程序

  执行一个.exe的文件,或通过已安装的软件打开一个特定格式的文件,如word、chm或mp3等等。

  1. 在window下可以直接执行一个.exe文件,如执行我在F盘下的tomcat安装文件,将命令写为:

  String cmd = "F:\apache-tomcat-6.0.20.exe";

  2. 打开一个word文档。如果系统已经安装了office应用程序,就可以通过调用word的可执行程序来打开一个word文档:

  String cmd = "D:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE F:\test.doc";

  当然这样写有点麻烦,我们想打开一个word文档时只要双击就可以了,用不着去找WINWORD.EXE。要是打开每一种格式的文件都得去找它的可执行程序,那可累死了,我们可以通过下面的代码,打开任意一个已知格式的文件(只要安装的打开这种文件格式的软件),相当于用鼠标双击一个文件的图标:

  String cmd = "cmd.exe /c start F:\test.doc";

  我用C写了一个进程操作的小例子,放在 linux 下编译出的可执行文件叫“fork_wait”,然后把我的java文件编译成TestRunTime.class后扔到 linux 上,在控制台执行 java TestRunTime 命令,TestRunTime 和 fork_wait 程序均运行成功。

  String cmd = "./fork_wait";

  二、JAVA调用系统命令

  通过调用进程的 getInputStream() 方法,可以获得执行命令的标准输出。在 windows 的cmd控制台窗口和 linux 控制台执行系统名利的格式是一样的,只是输入的命令不同而已。

  如要执行windows控制台中ping命令,可写为:String cmd = "ping www.baidu.com";

  执行linux的ls命令,可写为:String cmd = "ls -l";

  如果要执行一个带参数的命令,可使用 String 数组形式,如:

  String[] cmd=new String[3]; cmd[0]="/bin/sh"; cmd[1]="-c"; cmd[2]="ls -l ./";

  下面是我写的小例子:

  Java代码

看了“java执行系统命令linux”还想看:

1.android java如何执行linux命令

2.Java怎么调用系统命令

3.linux下启动java程序的通用脚本介绍

4.android如何实现运行底层linux外部命令

5.PHP怎么执行Linux系统命令函数

6.Linux系统下的Java进程不见了怎么办

    2733185