import org.apache.tools.ant.types.FileSet; //导入方法依赖的package包/类

public void execute() throws BuildException {

if (outputDir == null) {

throw new BuildException ("no output directory declared!");

}

if (!outputDir.exists()) {

throw new BuildException ("Output directory doesn't exist:" + outputDir);

}

String javaHome = System.getProperty("java.home");

String javaBin = javaHome + File.separator + "bin" + File.separator + "java";

String classpath = System.getProperty("java.class.path");

// add on our own paths

String allPaths = "";

for (Path p : paths) {

classpath += ":" + p.toString();

}

for (FileSet fs : filesets) {

for (Iterator it = fs.iterator(); it.hasNext(); ) {

FileResource res = (FileResource) it.next();

// convert name into CLASS (trim .java and replace slashes)

String name = res.getName();

name = name.substring (0, name.length()-5);

String className = name.replace('/', '.');

try {

ProcessBuilder builder = new ProcessBuilder(javaBin, "-cp", classpath, className);

Process process = builder.start();

// process output

InputStream is = process.getInputStream();

InputStreamReader isr = new InputStreamReader(is);

BufferedReader br = new BufferedReader (isr);

File outFile = new File (outputDir, className + ".output");

PrintStream ps = new PrintStream (outFile);

// generic start/stop info for each output file.

Date d = new Date();

ps.println ("Start:" + d.getTime() + " [" + d + "]");

String s;

int nb = 0;

while ((s = br.readLine()) != null) {

nb += s.length();

ps.println(s);

}

// generic end

d = new Date();

ps.println ("End:" + d.getTime() + " [" + d + "]");

ps.close();

int ev = process.exitValue();

System.out.println (className + " [" + nb + " bytes output, exit code:" + ev + "]");

} catch (Exception e) {

throw new BuildException ("unable to process class " + className + ": " + e.getMessage());

}

}

}

}

fileset java_Java FileSet.iterator方法代码示例相关推荐

  1. drawimage的用法 java_Java Graphics.drawImage方法代码示例

    本文整理汇总了Java中javax.microedition.lcdui.Graphics.drawImage方法的典型用法代码示例.如果您正苦于以下问题:Java Graphics.drawImag ...

  2. findclass java_Java Context.findClass方法代码示例

    import jdk.nashorn.internal.runtime.Context; //导入方法依赖的package包/类 private static Class> simpleType ...

  3. Bytes int java_Java Bytes.readInt方法代码示例

    import net.openhft.chronicle.bytes.Bytes; //导入方法依赖的package包/类 @NotNull @Override public CharSequence ...

  4. object getkey java_Java S3Object.getKey方法代码示例

    import com.amazonaws.services.s3.model.S3Object; //导入方法依赖的package包/类 private S3Object decipher(GetOb ...

  5. x509代码实例java_Java X509AttributeCertificate.getIssuer方法代码示例

    import org.bouncycastle.x509.X509AttributeCertificate; //导入方法依赖的package包/类 /** * Parses the contents ...

  6. toolbar java_Java ToolBar.layout方法代码示例

    import org.eclipse.swt.widgets.ToolBar; //导入方法依赖的package包/类 protected ToolBar createToolbar() { fina ...

  7. okhttputils java_Java OkHttpUtils.post方法代码示例

    import com.zhy.http.okhttp.OkHttpUtils; //导入方法依赖的package包/类 @Override public void performRequestAsyn ...

  8. getAttribute实例例java_Java ExifInterface.getAttribute方法代码示例

    import android.media.ExifInterface; //导入方法依赖的package包/类 public static void copyExif(ExifInterface or ...

  9. textlayout Java_Java TextLayout.getBounds方法代码示例

    import java.awt.font.TextLayout; //导入方法依赖的package包/类 /** * {@inheritDoc} */ @Override public void pa ...

最新文章

  1. 直播|实时音视频抗弱网技术揭秘
  2. BugkuCTF-社工
  3. SRX alarm: Autorecovery information needs to be saved
  4. java中try 与catch的使用
  5. Win7下安装git
  6. day34-2 类和对象(重点)
  7. html5 数据懒加载图片,Jsoup+HtmlUnit获取懒加载数据
  8. Google中国要来啦
  9. Druid.jar包
  10. t620服务器安装系统,请教高手Dell T620 服务器安装Ubuntu14.04LTS桌面版 非常慢 为什么?...
  11. 黑苹果alc269声卡仿冒id_AppleALC仿冒声卡驱动alc269优化版(Lenovo Z580亲测)
  12. 腾讯云实验室:搭建 LNMP 环境
  13. js颜色排序动画js特效
  14. rangecoder
  15. Jmeter与搜狗输入法、百度输入法不兼容问题解决方法
  16. 96---Python 绘制费马螺旋线
  17. 用wait¬ify实现多线程才是正确打开方式
  18. lvgl lv_conf.h文件详解
  19. scratch中植物大战僵尸之会收集太阳的的太阳花
  20. GB 9706.1-2020和GB9706.1-2007对照表

热门文章

  1. IIS+PHP+MYSQL安装配置
  2. wince 6.0 嵌入式开发指导
  3. 关于Exchang server 2010 MCITP
  4. sklearn模型评选择与评估
  5. JAVA8 Stream方法使用详解Filter、map等用法(一)
  6. Java并发编程系列之CountDownLatch用法及详解
  7. python pip配置镜像源:douban不能下载aliyun可以下载
  8. golang flag包使用示例:接收命令行参数
  9. centos6.x 搭建K8S环境准备
  10. Java动态代理代码案例:使用cglib实现对无接口的类进行动态代理