在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(); } }
复制代码

 

posted @   Yapi酱  阅读(439)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示