public void compileSource(String source){
		//1.创建需要动态编译的代码字符串		
		//2.将预动态编译的代码写入文件中1:创建临时目录2:写入临时文件
		File dir=new File("../webapps/JudgeOnLine/temp");//tomcat里工程下的临时目录	
		String className = source.substring(source.indexOf("public class") + 13,source.indexOf("{")).toString();//获取类名字符串
		//如果/temp目录不存在创建temp目录
		if(!dir.exists()){
		dir.mkdir();
		}
		try {
			FileOutputStream err = new FileOutputStream("../webapps/JudgeOnLine/temp/err.txt");			
			FileWriter writer=new FileWriter(new File(dir,className + ".java"));
			writer.write(source);//将字符串写入文件中
			writer.flush();
			writer.close();	
			//3:取得当前系统java编译器
			JavaCompiler javaCompiler=ToolProvider.getSystemJavaCompiler();
			//4:获取一个文件管理器StandardJavaFileManage
			StandardJavaFileManager javaFileManager=javaCompiler.getStandardFileManager(null, null, null);
			//5.文件管理器根与文件连接起来
			Iterable it=javaFileManager.getJavaFileObjects(new File(dir,className + ".java"));
			//建立一个信息收集器
			 DiagnosticCollector<JavaFileObject> collector = new DiagnosticCollector<JavaFileObject>(); 
			//创建编译的任务
			CompilationTask task=javaCompiler.getTask(null,
			javaFileManager,collector,Arrays.asList("-d","../webapps/JudgeOnLine/temp"), null, it);
			//执行编译			
			Boolean result = task.call();
			//获取信息
			 List<Diagnostic<? extends JavaFileObject>> diagnostics = 
		           collector.getDiagnostics();
			 for(Diagnostic<? extends JavaFileObject> d : diagnostics){
				 System.out.println("Line Number->" + d.getLineNumber());
				   System.out.println("Message->"+ 
					         d.getMessage(Locale.ENGLISH));
				   System.out.println("Source->" + d.getCode());
				   System.out.println(d.getKind() + "\n" );
			 }
			javaFileManager.close();
			System.out.println("result" + result);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			
		}
		/*File file = new File("D:\\RuntimeInput.java");
        Reader reader = null;
        StringBuffer contents = new StringBuffer();
		try {
            System.out.println("以字符为单位读取文件内容，一次读一个字节：");
            // 一次读一个字符
            reader = new InputStreamReader(new FileInputStream(file));
            int tempchar;
            while ((tempchar = reader.read()) != -1) {
                // 对于windows下，\r\n这两个字符在一起时，表示一个换行。
                // 但如果这两个字符分开显示时，会换两次行。
                // 因此，屏蔽掉\r，或者屏蔽\n。否则，将会多出很多空行。
                if (((char) tempchar) != '\r') {
                	contents.append(tempchar);
                    System.out.print((char) tempchar);
                }
            }
            reader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
		String code = contents.toString();*/
		//return "ok";
	}