Java

时间:2016-06-06 04:59:16

标签: java apache-commons apache-commons-io

我正在尝试通过java程序从Unix shell发送邮件。我使用Apache commons exec来做到这一点。

命令是

mutt  -s "Subject of mail" email@domain.com < file.txt

我使用的Java代码是

CommandLine cmdLine = CommandLine.parse("mutt");
cmdLine.addArgument("-s");
cmdLine.addArgument("Subject of mail");
cmdLine.addArgument("email@domain.com");
cmdLine.addArgument("<");
cmdLine.addArgument("file.txt");
DefaultExecutor executor = new DefaultExecutor();
int exitValue = 0;
try {
    exitValue = executor.execute(cmdLine);
} catch (IOException e) {
    e.printStackTrace();
}

但是这段代码不起作用。如何使用java进行输入重定向

1 个答案:

答案 0 :(得分:2)

尝试  executor.getStreamHandler().setProcessInputStream(new FileInputStream("file.txt"))

但请注意文件路径