你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Java专栏
Java SE 6新特性: 编译器 API(3)
 
编译文件:int result = compiler.run(null, null, null, fileToCompile);

  获得编译器对象之后,可以调用 Tool.run 方法对源文件进行编译。Run 方法的前三个参数,分别可以用来重定向标准输入、标准输出和标准错误输出,null 值表示使用默认值。清单 1 给出了一个完整的例子:

  清单 1. 程序运行时编译文件

01 package compile;
02 import java.util.Date;
03 public class Target {
04  public void doSomething(){
05   Date date = new Date(10, 3, 3);
     // 这个构造函数被标记为deprecated, 编译时会
     // 向错误输出输出信息。
06   System.out.println("Doing...");
07  }
08 }
09 package compile;
10 import javax.tools.*;
11 import java.io.FileOutputStream;
12 public class Compiler {
13  public static void main(String[] args) throws Exception{
14   String fullQuanlifiedFileName = "compile" + java.io.File.separator +
       "Target.java";  
15   JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
16   FileOutputStream err = new FileOutputStream("err.txt");
17   int compilationResult = compiler.run(null, null, err, fullQuanlifiedFileName);
18   if(compilationResult == 0){
19    System.out.println("Done");
20   } else {
21    System.out.println("Fail");
22   }
23  }
24 }

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089