`

Java调用Linux命令行

    博客分类:
  • Java
 
阅读更多
public String executeCmds(String[] cmds) {
		String result = "";		
		File wd = new File("/bin"); 
		Process proc = null; 
		try { 
		   proc = Runtime.getRuntime().exec("/bin/bash", null, wd); 
		} 
		catch (IOException e) { 			
		    e.printStackTrace(); 
		    return "IOExeception before cmd execute";
		} 
		if (proc != null) { 
		   BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream())); 
		   PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc.getOutputStream())), true); 
		   for(int i=0;i<cmds.length;i++)
			   out.println(cmds[i]);
		   try { 
		      String line;		      
			  while ((line = in.readLine())!=null){				  
				  result = result + line + "\n";
			  }		      
			  proc.waitFor();
		      in.close(); 
		      out.close(); 
		      proc.destroy(); 
		   } 
		   catch (Exception e) { 
		      e.printStackTrace(); 
		      return "Exeception happens when cmd execute";
		   } 
		}
		return result;		
	}

谨记:
1、cmds[cmds.length-1]="exit",否则while循环不会结束
2、切不可System.setProperty("line.separator", "\r\n"),否则line = in.readLine()不会读到任何信息
分享到:
评论

相关推荐

    暂存java调用linux命令行

    暂存java调用linux命令行

    Java调用Linux命令

    Java调用Linux命令 调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例, (注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例), 该实例可用于控制进程或取得进程的...

    使用runtime实现linux命令行或shell脚本多次调用

    使用runtime, 实现java客户端多次调用linux命令或者shell脚本,并返回对应结果或信息

    java调用shell脚本执行sqlldr与存储过程

    在linux环境中,这三个用户都可以直接在任意目录下执行该shell脚本,可是在java代码中调用shell脚本时,报了如下4个错误: 1、sqlldr: command not found 2、sqlplus: command not found 3、0750: You may need to ...

    在windows中jni(生成dll)Linux中jni(生成so),java调用曾c++

    该软件主要是介绍,java如何调用才c++程序,并且如何在visaul c++中用命令行cl生成dll文件。

    java实现ssh方式连接linux(包含ganymed-ssh2-build210.jar包)

    java实现ssh方式连接linux(包含ganymed-ssh2-build210.jar包) ---------Java语言+绚丽的界面+仿ssh实现调用Linux的Terminal,实现远程连接linux进行命令行的操作!

    Java(通过ganymed-ssh2-build210.jar)实现SSH远程连接linux终端

    Java语言+绚丽的界面+仿ssh实现调用Linux的Terminal,实现远程连接linux进行命令行的操作!

    java执行系统命令

    java调用执行系统命令的工作类。包括在Linux和windows系统,已经系统错误输出流的监控。

    如何通过Linux命令行使用和运行PHP脚本

    主要介绍了如何通过Linux命令行使用和运行PHP脚本,PHP语言和C/Java以及嗲有一些PHP特性的Perl变成语言中的语法非常相似,当前比较稳定且最新的版本是5.6.10。PHP是一种HTML的嵌入脚本,很方便开发人员写出动态生成...

    php调用自己java程序的方法详解

    本文实例讲述了php调用自己的java程序实现方法。分享给大家供大家参考,具体如下: 最开始要装jdk这个就不用说了,我装的是java ee 5+jdk 1.把下载的php-java-bridge_5.2.2_j2ee.zip解压出来,里面有个JavaBridge....

    Linux修改ip的执行文件.rar

    通过命令行,修改ip,可以用在java的SSHHelper来调用指令,修改ip,测试可用

    JAVA上百实例源码以及开源项目源代码

    摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用源码示例,用远程接口的引用访问EJB、函数将被FirstEJB调用,同时它将调用secondEJB 基于JAVA的UDP服务器模型源代码 2个目标文件 摘要:Java源码,网络相关,...

    java开源包1

    JArgs 是一个 Java 语言用来处理应用程序的命令行参数的类库。 高性能内存消息和事件驱动库 Chronicle Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-...

    JAVA上百实例源码以及开源项目

    摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用源码示例,用远程接口的引用访问EJB、函数将被FirstEJB调用,同时它将调用secondEJB 基于JAVA的UDP服务器模型源代码 2个目标文件 摘要:Java源码,网络相关,...

    fmj:FMJ (FFMpeg for Java)。通过Java调用FFMpeg命令的方式来对音视频进行处理(获取信息、截图等等)

    项目介绍FMJ (FFMpeg for Java)通过Java调用FFMpeg命令的方式来对音视频进行处理(获取信息、截图等等)。FFMpeg安装FFMpeg官网建议使用 ffmpeg-2.6.1 版本Linuxyum install ffmpegapt-get install ffmpegMacbrew ...

    Java代码实现调用RapidOCR(基于PaddleOCR),适配Mac、Win、Linux,支持最新PP-OCRv4.zip

    首先在命令行输入:cat /proc/sys/net/ipv4/ip_forwad,检查Linux内核是不是开启IP转发功能。如果结果为1,表明路由转发功能已经开启;如果结果为0,表明没有开启。出于安全考虑,Linux内核默认是禁止数据包路由转发...

    java开源包4

    JArgs 是一个 Java 语言用来处理应用程序的命令行参数的类库。 高性能内存消息和事件驱动库 Chronicle Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-...

    java开源包101

    JArgs 是一个 Java 语言用来处理应用程序的命令行参数的类库。 高性能内存消息和事件驱动库 Chronicle Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-...

    java开源包11

    JArgs 是一个 Java 语言用来处理应用程序的命令行参数的类库。 高性能内存消息和事件驱动库 Chronicle Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-...

    java开源包6

    JArgs 是一个 Java 语言用来处理应用程序的命令行参数的类库。 高性能内存消息和事件驱动库 Chronicle Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-...

Global site tag (gtag.js) - Google Analytics