首页 > 系统相关 >在Java中调用系统 Windows Shell或者Linux Shell命令行的使用

在Java中调用系统 Windows Shell或者Linux Shell命令行的使用

时间:2022-12-06 15:47:12浏览次数:31  
标签:Shell Java 命令行 Windows filename process str Runtime

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(); } }

 

标签:Shell,Java,命令行,Windows,filename,process,str,Runtime
From: https://www.cnblogs.com/jdearfaust/p/16955453.html

相关文章