精华内容
下载资源
问答
  • java调用系统命令

    2017-06-21 17:05:42
    java调用系统命令
    public static String exeCmd(String commandStr) {  
                BufferedReader br = null;  
                Process process=null;
                try {  
                    process = Runtime.getRuntime().exec(commandStr);  
                    br = new BufferedReader(new InputStreamReader(process.getInputStream(), Charset.forName("GBK")));  
                    
                    String line = null;  
                    StringBuilder sb = new StringBuilder();
                              
                    while ((line = br.readLine()) != null) {  
                        sb.append(line + "\n");
                    }
                    
                    System.out.println(sb.toString());  
                    return sb.toString();
                } catch (Exception e) {  

                    e.printStackTrace();

                   return  "";

                }finally{
                    if (br != null){
                        try {  
                            br.close();  
                        } catch (Exception e) {  
                            e.printStackTrace();  
                        }  
                    }
                }  
            }  
          
            public static void main(String[] args) {  
                String commandStr = "ping 10.37.0.56"; 
                exeCmd(commandStr);  

            }


    Charset.forName("GBK")可以防止返回结果乱码


    展开全文
  • Java 调用系统命令

    千次阅读 2019-03-16 15:08:15
    Java 调用系统命令 操作 通过 java.lang.Runtime 类用操作系统命令 然后调用run.exec()进程来执行命令程序 package com.framework.test; import java.io.BufferedReader; import java.io....

    Java 调用系统命令

    操作

    1. 通过 java.lang.Runtime 类用操作系统命令
    2. 然后调用run.exec()进程来执行命令程序
    package com.framework.test;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.nio.charset.Charset;
    
    /**
     * Java 调用系统命令
     * 通过 java.lang.Runtime 类用操作系统命令
     * 然后调用run.exec()进程来执行命令程序
     *  cmd /c dir 是执行完dir命令后结束程序。
     *  cmd /k dir 是执行完dir命令后不结束程序。
     *  cmd /c start dir 会打开一个新窗口后执行dir指令,原程序结束。
     *  cmd /k start dir 会打开一个新窗口后执行dir指令,原程序不结束。 
     *  可用cmd /k start cmd /? 查看系统帮助
     *  说白了 加 start 就是打开命令窗口操作  不加start 就是在控制台查看
     * @author lrd
     *
     */
    public class CmdTest {
    	   public static void main(String[] args)  {  
    
    		   Runtime run = Runtime.getRuntime();
    		   
    	        try {  
    	        	//可打开exe程序,也可执行cmd命令,注意 路径\要使用\\,表示转义
    	            // Process p = run.exec("E:\\一卡通测试工具\\串口调试助手\\kComm.exe");  //执行exe程序
    	        	Process p = run.exec("cmd /k  ping 127.0.0.1");                  //执行CMD命令
    	        	
    	            BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream(),Charset.forName("GBK"))); 
    	            String lineMes;  
    	            while ((lineMes = br.readLine()) != null)
    	                System.out.println(lineMes);// 打印输出信息  
    	            
    	            //检查命令是否执行失败。  
    	            if (p.waitFor() != 0) {  
    	                if (p.exitValue() == 1)//0表示正常结束,1:非正常结束  
    	                    System.err.println("命令执行失败!");  
    	            }  
    	            br.close();  
    	        } catch (Exception e) {  
    	            e.printStackTrace();  
    	        }  
    	    }  
    
    }
    
    
    展开全文
  • 简单的静态函数SysCmd.java:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class SysCmd{public static String autoExec(String cmdLine) throws ...

    简单的静态函数

    46824d74e28d56e0d70bd4ffe8816f2d.gif

    SysCmd.java:

    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStreamReader;

    public class SysCmd

    {

    public static String autoExec(String cmdLine) throws IOException, InterruptedException

    {

    if (System.getProperty("os.name").matches(".*[Ww]indows.*"))

    {

    return exec(new String[] { "cmd", "/c", cmdLine });

    }

    else

    {

    return exec(new String[] { "sh", "-c", cmdLine });

    }

    }

    public static String exec(String[] cmdArray) throws IOException, InterruptedException

    {

    Process p = Runtime.getRuntime().exec(cmdArray);

    String line = null;

    StringBuffer result = new StringBuffer();

    BufferedReader brIn = new BufferedReader(new InputStreamReader(p.getInputStream()));

    while ((line = brIn.readLine()) != null)

    {

    result.append(line + "\n");

    }

    brIn.close();

    BufferedReader brErr = new BufferedReader(new InputStreamReader(p.getErrorStream()));

    while ((line = brErr.readLine()) != null)

    {

    result.append(line + "\n");

    }

    brErr.close();

    return result.toString();

    }

    }

    分享到:

    18e900b8666ce6f233d25ec02f95ee59.png

    72dd548719f0ace4d5f9bca64e1d7715.png

    2009-08-13 23:40

    浏览 356

    论坛回复 / 浏览 (0 / 1951)

    分类:非技术

    评论

    展开全文
  • Java调用系统命令

    2010-12-22 17:54:00
    一直在用Java,一直不喜欢Java,有时候也欣赏Java,一直在学习Java,笔试的时候从来不敢用Java,这一切我都不知道是为什么,我花费了大部分时间用于使用Java,但一直不信任Java,前些天发了神经似的冲动的想用...

    一直在用Java,一直不喜欢Java,有时候也欣赏Java,一直在学习Java,笔试的时候从来不敢用Java,这一切我都不知道是为什么,我花费了大部分时间用于使用Java,但一直不信任Java,前些天发了神经似的冲动的想用Python,无非是有大量的sql脚本需要整理,需用程序来帮我实现sql执行,现在想想,确实是自己程序修养不够,需要反思。

     

    刚才想取下linux系统的所有用户名,用Java取了下,Process process = Runtime.getRuntime().exec(cmd);是可以取到的

    process.getInputStream()可以取到输入流,之后调用BufferReader将process中的内容一一取出即可。

     

    BufferedReader br = new BufferReader(new InputStreamReader(process.getInputStream()))。

     

    虽然Java实现总是需要写大量的代码,python更简单一些,但以后遇到问题的时候,会首先尝试用Java解决下,给Java一个机会,其实是给自己一个机会更深的了解Java.

    展开全文
  • java调用系统命令Demo

    2018-02-13 11:22:03
    java调用系统命令范例 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; public class SystemCommandCall { public static void main(String[] args) throws ...
  • 学习了两篇的Runtime类,现在对它有了更深一层的了解,那么我们来看看下面的代码:import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader ;import java.io.BufferedReader;...
  • JAVA调用系统命令或可执行程序

    千次阅读 2016-05-26 15:16:41
    JAVA调用系统命令或可执行程序
  • Java 调用系统命令 Cmder包括对waitFor()阻塞的处理package southday.java.util;import java.io.BufferedReader; import java.io.File; import java.io.InputStream; import java.io.InputStreamReader; import java...
  • 呵呵。。view plaincopy to clipboard...class Exec{public static void main(String []args)throws IOException{//Linux系统命令:ls -lString command = "ls -l";//获取当前系统的环境。Runtime rt = Runtime.get...
  • 通过 java.lang.Runtime 类可以方便的调用操作系统命令,或者一个可执行程序,下面的小例子我在windows和linux分别测试过,都通过。基本原理是,首先通过 Runtime.getRuntime() 返回与当前 Java 应用程序相关的运行...
  • 通过 java.lang.Runtime 类可以方便的调用操作系统命令,或者一个可执行程序,下面的小例子我在windows和linux分别测试过,都通过。基本原理是,首先通过 Runtime.getRuntime() 返回与当前 Java 应用程序相关的运行...
  • 实际项目开发场景中,可能会用到java项目调用系统命令的需求,如调用python或者shell脚本 可以参考如下例子,例子来源于ambari源码: \ambari\ambari-server\src\main\java\org\apache\ambari\server\security\...
  • private static final Logger logger = .../*** 杀死进程* taskkill 参数列表:* /S system 指定要连接到的远程系统。* /U [domain\]user 指定应该在哪个用户上下文执行这个命令。* /P [password] 为提供的用户上下文...
  • linux中的find命令:find 文件路径 -name 要查找的文件名字 1 String xml = tmp+".xml"; 2 String[] command = {"find","/media/data/xml","-name", xml}; 3 Process p = Runt...
  • 通过 java.lang.Runtime 类可以方便的调用操作系统命令,或者一个可执行程序,下面的小例子我在windows和linux分别测试过,都通过。基本原理是,首先通过 Runtime.getRuntime() 返回与当前 Java 应用程序相关的运行...
  • 在编写Java程序时,有时候我们需要调用外部的exe,这时可以通过Runtime的exec()方法, 该命令使用比较简单,但是无法对执行做细节的控制。 通过使用ProcessBuilder构建Process可以进行细节的控制,但是默认process...
  • 通过 java.lang.Runtime 类可以方便的调用操作系统命令,或者一个可执行程序,下面的小例子我在windows和linux分别测试过,都通过。基本原理是,首先通过 Runtime.getRuntime() 返回与当前 Java 应用程序相关的运行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,078
精华内容 831
关键字:

java调用系统命令

java 订阅