Java操作终端的方法

参考下面链接 有window 和 mac的

https://blog.csdn.net/xh16319/article/details/17302947

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package edu.test;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
      
    /**
     * java在linux环境下执行linux命令,然后返回命令返回值。
     * @author lee
     */
    public class ExecLinuxCMD {
      
        public static Object exec(String cmd) {
            try {
                String[] cmdA = { "/bin/sh", "-c", cmd };
                Process process = Runtime.getRuntime().exec(cmdA);
                LineNumberReader br = new LineNumberReader(new InputStreamReader(
                        process.getInputStream()));
                StringBuffer sb = new StringBuffer();
                String line;
             while ((line = br.readLine()) != null) {
                    System.out.println(line);
                    sb.append(line).append("\n");
                }
                return sb.toString();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
      
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String pwdString = exec("pwd").toString();
            String netsString = exec("netstat -nat|grep -i \"80\"|wc -l").toString();----------------------- 我这里拿来执行python文件的,这里赋值 是python里面return回来的值 ---print的不会返回回来
              
            System.out.println("==========获得值=============");
            System.out.println(pwdString);
            System.out.println(netsString);
        }
      
    }

  

 

posted @   凯宾斯基  阅读(340)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2021-01-13 性能命令
2021-01-13 mac下top
2021-01-13 vue简单的富文本实现(亲测可以)
2020-01-13 使用命令行执行需要传参的 py文件的方法
点击右上角即可分享
微信分享提示