编译运行test.java文件,为什么会出错。不多说,直接上代码


<%

//获取textarea文本框里面的值
String tr=request.getParameter("num6");
//获取test.java文件的路径
String filename=request.getRealPath("test.java");
File f=new File(filename);
//如果test.java不存在,就创建一个
if(!f.exists()){
f.createNewFile();
}
//把tr写入test.javal里面
PrintWriter pw=new PrintWriter(new FileOutputStream(filename));
pw.println(tr);
pw.close();
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int results = compiler .run(null, null, null,"test.java");
    System.out.println((results == 0) ? "编译成功" : "编译失败");
    // 在程序中运行test
    Runtime run = Runtime.getRuntime();
    Process p = run.exec("java test");
    InputStreamReader in = new InputStreamReader(p.getInputStream());
    BufferedReader br = new BufferedReader(in);
    String s="";
    while ((s = br.readLine()) != null) {
        System.out.print(s);
    }   
 %>

    错误是:javac:找不到文件:test.java
      用法: javac <options> <source files>
  -help 用于列出可能的选项
  编译失败


        我不知道是不是我的程序有什么错,如果大神你看出来了,还望指正

检查文件有没有写进去,路径对不对

是不是因为没加cry{}catch
if(!f.exists()){
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}