在Java中调用系统 Windows Shell或者Linux Shell命令行的使用
Jdk8中的Runtime类以及Process类结合起来可用于调用系统的命令行,具体使用参考JDK8手册
Jdk17版本中这两个类的使用有一定的改变,用起来会更加方便,有需要可以参考JDK17手册
代码示例
public static void JavaExec(String filename){
//需要在shell 终端中执行的命令 Runtime runtime = Runtime.getRuntime(); try {
//linux 下解压 名称为filename.gz 的压缩文件 Process process = runtime.exec("tar -xvf " + filename.gz); InputStream inputStream = process.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str = null; while ((str = bufferedReader.readLine()) !=null ){ System.out.println(str); } try {
//等待上面进程执行完毕 process.waitFor();
//输出退出值。linux下正确退出的退出值都是 0 ,返回其他退出值都表示执行失败。 System.out.println("exitValue: "+process.exitValue()); } catch (InterruptedException e) { e.printStackTrace(); } } catch (IOException e) { e.printStackTrace(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗