Java 如何使用getInputStream()运行时对象

Java 如何使用getInputStream()运行时对象,java,runtime.exec,Java,Runtime.exec,请使用以下代码帮助我编译和运行java文件 RunTime rt=RunTime.getRunTime(); Process p=rt.exec("//what to write here for compilation of java file"); 那么如何通过getInputStream()捕获响应呢 请简要介绍一下 提前感谢您调用javac.exe来编译Java 您应该使用流程来执行它: 实际上,从Java 6开始,最好使用api并以编程方式使用编译器: JavaCompiler j

请使用以下代码帮助我编译和运行java文件

RunTime rt=RunTime.getRunTime();
Process p=rt.exec("//what to write here for compilation of java file");
那么如何通过getInputStream()捕获响应呢

请简要介绍一下


提前感谢您调用
javac.exe来编译Java

您应该使用流程来执行它:



实际上,从Java 6开始,最好使用api并以编程方式使用编译器:

JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
DiagnosticListener<? super JavaFileObject> listener =
    new DiagnosticCollector<JavaFileObject>();
StandardJavaFileManager javaFileManager =
    javac.getStandardFileManager(listener, Locale.getDefault(), charSet);
javaFileManager.setLocation(StandardLocation.SOURCE_PATH, sourcePaths));
javaFileManager.setLocation(StandardLocation.CLASS_PATH, classPath);
javaFileManager.setLocation(StandardLocation.CLASS_OUTPUT, outputPaths);
CompilationTask task = javac.getTask(
    null, // no output writer
    javaFileManager,
    null, // no Diagnostic Listener
    Arrays.asList("-source", "1.6", "-target", "1.6"),// source level Java 1.6
    null, // no APT processors
    sources
);
task.call();
JavaCompiler javac=ToolProvider.getSystemJavaCompiler();
诊断监听器