zoukankan      html  css  js  c++  java
  • DOSUtil

    package Testlink;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    
    /*
     * 此方法主要是用于执行DOS命令
     */
    public class DOSUtil {
    
        // 定义执行的进程
        private Process process;
    
        // 定义工作目录
        private File workspaceFile;
    
        // 定义工作目录下的所有文件和文件夹
        private File dirFile;
    
        // 定义buildXML文件夹
        private File buildXMLDirectory;
    
        // 工作目录路径
        private String workspacePath;
    
        // build.xml文件路径
        private String buildXMLDirectoryPath;
    
        // ant执行build.xml文件
        private String antCommand;
    
        /**
         * 该方法主要用于执行ANT的build.xml文件
         */
        public void RunDOS() {
            // 获取当前地址的路径
            workspaceFile = new File("");
            workspacePath = workspaceFile.getAbsolutePath();
    
            // 获取路径下的所有文件
            dirFile = new File(workspacePath);
            File[] files = dirFile.listFiles();
    
            // 获取BuildXML文件夹的路径
            buildXMLDirectoryPath = (workspacePath + "\BuildXML");
    
            // 获取BuildXML文件下的所有文件
            buildXMLDirectory = new File(buildXMLDirectoryPath);
            File[] xmlFiles = buildXMLDirectory.listFiles();
    
            // 定义需要执行的ant命令
            antCommand = ("cmd.exe /c ant -buildfile " + this.buildXMLDirectoryPath + "\build.xml");
    
            // 判断工作目录是否为空,如果不为空就向下执行
            if (files.length != 0) {
                // 循环遍历是否存在BuildXML文件夹
                File[] arrayOfFile1;
                int j = (arrayOfFile1 = files).length;
                for (int i = 0; i < j; i++) {
                    File file = arrayOfFile1[i];
                    if (file.getName().equals("BuildXML")) {
                        // 判断BuildXML文件是否为空,不为空向下执行
                        if (xmlFiles.length != 0) {
                            File[] arrayOfFile2;
                            int m = (arrayOfFile2 = xmlFiles).length;
                            for (int k = 0; k < m; k++) {
                                File xmlfile = arrayOfFile2[k];
                                if (xmlfile.getName().equals("build.xml")) {
                                    try {
                                        process = Runtime.getRuntime().exec(antCommand);
                                        InputStream iStream = process.getInputStream();
                                        BufferedReader bReader = new BufferedReader(new InputStreamReader(iStream));
                                        String str = null;
                                        while ((str = bReader.readLine()) != null) {
                                            System.out.println(str);
                                        }
                                        System.out.println("我的已经执行了");
                                    } catch (IOException e) {
                                        e.printStackTrace();
                                    }
                                } else {
                                    System.out.println("build.xml文件不存在");
                                }
                            }
                        } else {
                            System.out.println("BuildXML文件夹为空");
                        }
                    }
                }
            } else {
                System.out.println("文件内容为空");
            }
        }
    }
  • 相关阅读:
    Redis学习笔记之一 : 配置redis
    Web 项目更改项目名
    Linux 常用命令之一
    SQL 常用语法一
    Java http请求和调用
    Spring c3p0连接池无法释放解决方案
    Windows和Linux查看和更改mysql连接池
    Java 简单实用方法二
    Linux 更改ssh 端口
    CentOS 通过yum安装web环境
  • 原文地址:https://www.cnblogs.com/xxsl/p/11355507.html
Copyright © 2011-2022 走看看