JavaDemo——java调用Linux命令
2023-09-11 14:16:28 时间
Demo:
/**
* createtime : 2018年9月6日 下午5:14:20
*/
package com.useLinuxCmd;
import java.io.IOException;
/**
* TODO
* @author XWF
*/
public class TestLinuxCmd {
/**
* @param args
*/
public static void main(String[] args) {
Process proc = null;
try {
//创建文件
String touchCmd = "touch hello.txt";
proc = Runtime.getRuntime().exec(touchCmd);
proc.waitFor(); //阻塞,直到上述命令执行完
//管道类命令要用这种方式
String[] cmds = {"/bin/sh","-c","echo helloworld > hello.txt"};
proc = Runtime.getRuntime().exec(cmds);
proc.waitFor(); //阻塞,直到上述命令执行完
//删除文件
String rmCmd = "rm -rf needrm.txt";
proc = Runtime.getRuntime().exec(rmCmd);
proc.waitFor(); //阻塞,直到上述命令执行完
//执行文件
String bashCmd = "bash mkfolder.sh";
proc = Runtime.getRuntime().exec(bashCmd);
proc.waitFor(); //阻塞,直到上述命令执行完
} catch (InterruptedException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
mkfolder.sh脚本:
#!/bin/sh
mkdir myfolder
把java代码生成jar包,放到linux系统上运行。
结果:
2021.12.20添加
通过Runtime调用命令并获得结果:
/**
* 2021年12月20日下午3:48:23
*/
package testRunCmd;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* @author XWF
*
*/
public class TestRunCmd {
/**
* @param args
*/
public static void main(String[] args) {
try {
String cmd = "ls -ahl";
String line = null;
StringBuilder sb = new StringBuilder();
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec(new String[] {"/bin/sh", "-c", cmd});
BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));
while((line = br.readLine()) != null) {
sb.append(line + "\n");
}
String result = sb.toString();
System.out.println("执行结果:" + result);
} catch (IOException e) {
e.printStackTrace();
}
}
}
放到linux上运行结果:
相关文章
- java虚拟机学习-Java常量池理解与总结(13-2)
- Java中的接口
- Linux离线安装java
- 谈一谈Java 中 1000==1000 为false,而100==100 为true?
- 回归JAVA: java文件编译后,出现xx$1.class的原因
- Java并发JUC(java.util.concurrent)JMM内存模型
- 15个Java面试题
- 《深入解析Android 虚拟机》——第2章,第2.2节Java虚拟机概述
- 转 windows下安装pycharm并连接Linux的python环境 以及 windows 下notepad ++编辑 linux 的文件
- VMware创建Linux虚拟机之(二)下载安装JDK与配置Java环境变量
- JAVA程序员应该知道的linux命令
- 《青花瓷》JAVA版:周杰伦告诉你怎么学Java
- Ant构建Java项目之第1篇
- 【Linux】linux经常使用基本命令
- 【Linux】linux经常使用基本命令
- java.lang.OutOfMemoryError: Java heap space错误及处理办法(收集整理、转)
- 【Linux】好玩的linux命令
- 什么是Java序列化,如何实现java序列化
- 深入分析Java内存泄漏