在java代码中运行R脚本并将r结果输出到文本文件中

时间:2013-01-10 16:30:53

标签: java r

我试图在java程序中运行R脚本并将结果输出到文本文件中。

这是我的java代码:

import java.io.*;

public class rclass {

    public static void main(String[] args) {
        try {

            String line;

            Process p = Runtime.getRuntime().exec("RScript /Users/test.R iphone5 2012-12-16 2013-01-03");
            p.waitFor();

            BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));

            while((line = input.readLine()) != null) {

                System.out.println(line);

            }

            input.close();

        } catch(Exception e) {
          e.printStackTrace();
        }
    }
}

以下是我将r结果输出到文本文件中的方法:

out<-capture.output(scores)
cat(out, file="/Users/mmmmmm/Desktop/result.txt", sep="\n",append=TRUE)

当我运行java代码时,我的r脚本没有输出到文本文件中。但是当我从终端运行命令时,它运行良好。我无法找到问题所在。有人可以给我一些建议吗?

1 个答案:

答案 0 :(得分:0)

这不是解决方案,因为我无法重现问题。但是为什么不在文件中使用Rscript输出结果?

例如,您可以执行类似这样的操作,将输出和错误放在同一个文件中

 RScript /Users/test.R iphone5 2012-12-16 2013-01-03 > result.txt 2>&1