我试图创建一个执行java文件并在文本字段中输出的java程序。我已经使用Runtime类来编译.java文件。那么如何从新创建的类文件中获取输出。
Runtime.getRuntime().exec("javac Y://CodeSave.java");
Runtime.getRuntime().exec("java Y://CodeSave.class>output.txt");
答案 0 :(得分:0)
在一般情况下:f <- function(x) {
sapply(x, function(y) sum(abs(y - x) >= 30))
}
df$diff <- unlist(
df %>%
group_by(ids) %>%
do(diff = f(.$date)) %>%
.$diff
)
返回一个Process
实例,该实例具有I / O流的访问器(getOutputStream
等)。您可以读/写这些流。
但是:在您的代码中,您使用了exec
。这是 shell 功能。如果你想这样做,你需要生成一个shell,而不是直接生成>output.txt
工具,并让shell执行该命令行。 (搜索产生/执行shell应该会找到很多例子。)
答案 1 :(得分:-1)
出于各种原因,使用Runtime.exec绝对不是正确的方法。例如,java和javac都依赖于你无法通过这种方式传递的环境变量。
首先,我会问自己是否真的需要这样做。编译和执行动态创建的代码是一个巨大的安全风险。
但如果你确定需要这样做,那就是我要做的事。