1.本地读取linux文件,即在Windows上链接外部linux

package com.common.utils;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List; import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler; public class SSHUtil { private final static String host = "00.000.000.000";  //linux的外网ip
private final static int port = 22;  //linux端口号,xftp链接linux是所用的端口
private final static String username = "user";  //用户账号
private final static String password = "pwd";  //密码private static SSHUtil ftp = new SSHUtil();
private static Connection con = new Connection(host, port); public static List<String> execCom(String command) {
Session session = ftp.session();
BufferedReader br = null;
List<String> msgList=new ArrayList<String>();
try {
session.requestPTY("vt100", 80, 24, 640, 480, null);
session.execCommand(command);
System.out.println("ExitCode: " + session.getExitStatus());
InputStream stdout = new StreamGobbler(session.getStdout());
br = new BufferedReader(new InputStreamReader(stdout));
while (true) {
String line = br.readLine();
System.out.println(line);
if (line == null) {
break;
}
msgList.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
session.close();
con.close();
return msgList;
} public Session session() {
Session session = null;
try {
con.connect(); con.authenticateWithPassword(username, password);
session = con.openSession();
} catch (IOException e) {
e.printStackTrace();
return null;
}
return session;
} }

2.linux服务器中的项目读取linux文件

package comcommon.utils;

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.util.ArrayList;
import java.util.List; public class RunTimeUtil {
private static LogUtil logger = new LogUtil(RunTimeUtil.class); public static List<String> execCom(String cmd) throws IOException, InterruptedException {
List<String> msgList=new ArrayList<String>();
try {
Process process = Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", cmd});//执行命令 InputStreamReader ir = new InputStreamReader(process.getInputStream());
LineNumberReader input = new LineNumberReader(ir); String line;
while ((line = input.readLine()) != null) {//输出结果
msgList.add(line);
}
} catch (java.io.IOException e) {
logger.info("IOException " + e.getMessage());//捕捉异常
}
return msgList;
}
}

然后调取execCom("所需命令");

最新文章

  1. css实现文本溢出显示...
  2. JavaScript实现输入验证(简单的用户注册)
  3. The first day to learn Englisht
  4. [译] 企业级 OpenStack 的六大需求(第 1 部分):API 高可用、管理和安全
  5. ssh配置文件ssh_config和sshd_config区别
  6. android bitmap的放大缩小
  7. hdu4389 X mod f(x)
  8. SET UPDATE TASK LOCAL
  9. 服务器time_wait状态原因
  10. php 5.3+ 连接mssql
  11. 前端总结&#183;基础篇&#183;JS(三)arguments、callee、call、apply、bind及函数封装和构造函数
  12. pm2进阶使用
  13. select下拉框的探索(&lt;option&gt;&lt;/option&gt;标签中能嵌套使用其它标签吗)
  14. js 骂人不带脏字 (!(~+[]) + {})[--[~+&quot;&quot;][+[]] * [~+[]] + ~~!+[]] + ({} + [])[[~!+[]] * ~+[]] 图解
  15. 纯代码系列:Python实现验证码图片(PIL库经典用法用法,爬虫12306思路)
  16. django os.environ慎用setdefault操作环境变量!
  17. Angular中通过$location获取地址栏的参数详解
  18. vue+webpack开发(三)
  19. mac下配置android环境变量
  20. Handler,Looper,HandlerThread浅析

热门文章

  1. iOS 9 平台上 AFNetworking 框架 3.0 版本号解决的问题和问题解决
  2. C++学习笔记22,普通函数重载(1)
  3. poj 3662 Telephone Lines(最短路+二分)
  4. C Looooops(扩展欧几里得+模线性方程)
  5. C/C++中输入多组数据方法
  6. 使用Github做服务器展示前端页面
  7. 2-bitmap
  8. S - New Year Transportation
  9. Spring Boot (10) mybatis三种动态sql
  10. .net core2.0 读取appsettings.json