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("文件内容为空");
}
}
}
DOSUtil的更多相关文章
- software download
Develop Sourceinsight 3.50.0066 http://pan.baidu.com 这个版本支持输入文件名的一部分来查找文件,而不像3.50.0029必须输入完整的文件名 VFP ...
- Linux 常见紧急情况处理方法
使用急救盘组进行维护 急救盘组(也称为 boot/root 盘组),是系统管理员必不可少的工具.用它可以独立地启动和运行一个完整的 Linux 系统.实际上,急救盘组中的第 2 张盘上就有一个完整的 ...
- Linux基础学习-使用PXE+Kickstart无人值守安装服务
无人值守安装系统 PXE(Preboot eXecute Environment,预启动执行环境)是由Intel公司开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技 ...
- 透彻的了解Linux系统故障并解决
透彻的了解Linux系统故障并解决 2009-12-25 10:24 佚名 NET130 字号:T | T 经常应用Windows操作系统时,我们会很多的系统故障,于是很多人开始应用Linux操作系统 ...
- MainRun
package Testlink; import java.io.IOException; public class MainRun { public static void main(String[ ...
随机推荐
- Delphi XE2 之 FireMonkey 入门(7) - TText 与 TFont
TText 也是从 TShape(TControl -> TShape)继承; 而与之类似的 TLabel 的继承序列是 TControl -> TStyledControl -> ...
- 读Dubbo源码,学习SPI
核心类 ExtensionLoader 使用方法 定义接口,使用@SPI标记 @SPI("impl1") public interface SimpleExt { // @Adap ...
- 多进程---multiprocessing/threading/
一.多进程:multiprocessing模块 多用于处理CPU密集型任务 多线程 多用于IO密集型任务 Input Ouput 举例: import multiprocessing,threadin ...
- 关于staticmethod() 函数
说实话,我就不知这个是干什么的. 菜鸟教程写的无需实例化, 自己可以调用自己. 在同一个类面我使用到了 因为一个类了, 我可能会方法间互相调用. 类中间使用.不加这个,就会报错.无法识别这个 orig ...
- Visual Studio新增类模板修改
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\2052\Class ...
- Model Inversion Attack Paper Indexpage
Paper [1]: White-box neural network attack, adversaries have full access to the model. Using Gradien ...
- CDH平台搭建解决离线安装依赖包的方法
背景介绍: 1CDH开发平台在搭建的过程中,会遇到各种各样的问题,其中的各种依赖就是一个很让人头痛的问题.如果安装脚本文件出现了这种问题,那么就可以把以下的这种方法加入shell中,但是不要用yum来 ...
- [Git] 001 初识 Git 与 GitHub 之新建仓库
在 GitHub 的 UI 界面使用 Git 新建一个仓库 1. 点击右上角的 +,选择 New repository 2. 网站会自动跳转至新页面,在下框中填入仓库名 仓库名也有讲究,挖个坑,日后填 ...
- [Web 前端] 016 css 元素的转换
三种元素之间的转换 display 属性是用来设置元素的类型及隐藏的 常用的属性有 none 元素隐藏且不占位置 block 元素以块元素显示 inline 元素以内联元素显示 inline-bloc ...
- echart 属性设计大全
// 全图默认背景 // backgroundColor: ‘rgba(0,0,0,0)’, // 默认色板 color: ['#ff7f50','#87cefa','#da70d6','#32cd ...