如果要在java程序里执行一条linux可以用下面的写法

Process process = Runtime.getRuntime().exec(cmd);process.waitFor();

但是当遇到像cd这样的命令时,上面的这种写法切不管用,很多时候我们以为是命令输错了或是文件找不到。

现在提供一种新的执行命令方法:

File wd = new File("/bin");

System.out.println(wd);

Process proc = null;

try {

proc = runtime.getruntime().exec("/bin/bash", null, wd);

} catch (IOException e) {

e.printStackTrace();

} if (proc != null) {

BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));

PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc.getOutputStream())), true);

out.println("cd .."); //执行该语句后返回上一级目录

out.println("pwd"); //打印当前目录

out.println("java -jar xxx.jar");//执行该目录下的jar文件,Linux下执行jar文件必须进入其所在的文件夹

out.println("exit");

try { String line;

while ((line = in.readLine()) != null) {

System.out.println(line);

}

proc.waitFor(); i

n.close();

out.close();

proc.destroy();

} catch (Exception e) {

e.printStackTrace();

}

}

这种写法相当于把整个bash环境拿进来了,out.println只要输入你需要执行的命令就行。

看上去很复杂,其实很实用,只要能在命令行执行的命令,都可以拿来试试。

java cd命令_java执行cd命令相关推荐

  1. java代码执行linux命令_java执行Linux命令的方法

    本文实例讲述了java执行Linux命令的方法.分享给大家供大家参考.具体实现方法如下: public class StreamGobbler extends Thread { InputStream ...

  2. java阻塞执行命令_java执行bat命令碰到的阻塞问题的解决方法

    使用Java来执行bat命令,如果bat操作时间过长,有可能导致阻塞问题,而且不会执行bat直到关闭服务器. 如: Runtime r=Runtime.getRuntime(); Process p= ...

  3. java连接linux服务器执行shell命令(框架分析+推荐)

    java连接linux服务器执行shell命令(框架分析+推荐) 一.分类+连接方式 程序打成jar包,在本地服务器上执行shell命令.这种使用MyRuntimeUtil工具类 java程序远程li ...

  4. 不是内部或外部命令 windows10 执行 linux命令

    不是内部或外部命令 windows10 执行 linux命令 打开 PowerShell 输入linux命令

  5. Linux命令行执行sqlite3命令创建表格,插入数据,获取数据

    Linux命令行执行sqlite3命令创建表格,插入数据,获取数据 文章目录 Linux命令行执行sqlite3命令创建表格,插入数据,获取数据 1-进入sqlite3 2-创建数据库 3-创建表 4 ...

  6. java调用cd传输_Java调用Linux命令(cd的处理)

    一.Java调用Linux系统的命令非常简单 这是一个非常常用的调用方法示例: 1 publicString executeLinuxCmd(String cmd) {2 System.out.pri ...

  7. java ganymed ssh2_java 远程执行Shell命令-通过ganymed-ssh2连接

    一.实现远程执行 此程序的目的是执行远程机器上的Shell脚本. [环境参数] 远程机器IP:192.168.243.21 用户名:user 密码:password 命令:python /data/a ...

  8. java使用ganymed-ssh2远程执行shell命令

    先上依赖 <!-- https://mvnrepository.com/artifact/ch.ethz.ganymed/ganymed-ssh2 --> <dependency&g ...

  9. java telnet端口_Java 实现 telnet命令 验证主机端口的连通性

    Java 实现 telnet命令 验证主机端口的连通性 1.Telnet 命令 Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式.它为用户提供了在本地计 ...

最新文章

  1. mysql常见面试题(持续更新)
  2. kali工具中文手册_Kali Linux 2019.4发布了!解决Kali Linux 2019.4中文乱码问题
  3. https://www.threatminer.org/domain.php?q=blackschickens.xyz ——域名的信誉查询站点 还可以查IP...
  4. python解析excel公式_[python][openpyxl]读取excel中公式的结果值
  5. 苹果推出“轻触支付”新方式 目前仅面向美国
  6. Java中Comparable和Comparator接口的区别
  7. AKKA 集群中的发布与订阅Distributed Publish Subscribe in Cluster
  8. beatsx三闪红灯是什么意思_飞机座椅上写的quot;taxiquot; 什么意思?出租车?
  9. 闲话WPF之十三(WPF中的资源)
  10. python社区版如何下载库_pycharm社区版在哪里下载
  11. 计算机中汉字的顺序用什么牌,最常用汉字频率排序
  12. Deepin 深度操作系统安装教程
  13. C#操作Memcached缓存
  14. matlab进行道格拉斯筛选,用MATLAB计算柯布道格拉斯函数,需要计算程序,急!谢谢大神...
  15. 探探自动右划,自动点击,自动加星
  16. c++ 数据结构 软件压缩/解压缩软件Szip(Huffman算法及应用)
  17. OpenWrt 网络设置(六)
  18. 不破不立 WCA-IeSF全球电竞高峰论坛的五大革新
  19. 洛谷 题单2分支结构(freshman锻炼牛犇勿喷)
  20. 傅里叶分析和图像的傅里叶频谱解析

热门文章

  1. C#对图片进行缩放变换
  2. 小侃设计模式(一)-设计模式七大原则
  3. Android源码阅读-编译8
  4. 蓝牙耳机为什么有延迟?2020十款高性价比蓝牙耳机测评
  5. 论文相关知识:集合论中关于偏序关系、偏序集、覆盖等关系
  6. 【SQL工具】SQL调优和诊断神器SQLTXPLAIN (SQLT)简介
  7. JAVA学习(1天) #来源:异步图书
  8. 虚拟机没有网络还没有网络图标!!!
  9. ArcGIS有什么板块,应用于什么方面
  10. 亚马逊关键词首页排名技巧 让客户找到你