Java中执行Linux文件删除命令 rm -rf

public static void deleteFile(String destDirPath) {
          
   
        String property = System.getProperty("os.name");
        if (property.toLowerCase().startsWith("win")) {
          
   
            logger.info("当前系统为Windows不进行文件清理");
            return;
        }
        logger.info("开始删除相同文件 destDirPath:{}", destDirPath);

        Process p;
        InputStreamReader inputStreamReader = null;
        BufferedReader br = null;
        String co = "rm -rf " + destDirPath;
        try {
          
   
            p = Runtime.getRuntime().exec(co);
            inputStreamReader = new InputStreamReader(p.getInputStream());
            br = new BufferedReader(inputStreamReader);
            int returnCode = p.waitFor();
            logger.info("执行删除任务完毕 删除命令:{} 时间:{}", co, returnCode);
        } catch (IOException e) {
          
   
            logger.error("clearFile IOException:{}", e);
        } catch (InterruptedException e) {
          
   
            logger.error("clearFile InterruptedException:{}", e);
        } finally {
          
   
            StreamClose.close(inputStreamReader, br);//关闭流
        }
    }
经验分享 程序员 微信小程序 职场和发展