服务器上的Java命令行操作

服务器上的Java命令行操作,java,server,window,temp,Java,Server,Window,Temp,我试图在用户pc上打开outlook,但因为windows服务器上的应用程序在服务器上运行cmd,而不是在用户pc上 代码如下: ProcessBuilder pb = new ProcessBuilder(); pb.command("cmd.exe", "/C", "start", "outlook.exe", "/eml", resultEmail.getCanonicalPath()); Process p = pb.start(); try { p.waitF

我试图在用户pc上打开outlook,但因为windows服务器上的应用程序在服务器上运行cmd,而不是在用户pc上

代码如下:

ProcessBuilder pb = new ProcessBuilder();
pb.command("cmd.exe", "/C", "start", "outlook.exe",
        "/eml", resultEmail.getCanonicalPath());
Process p = pb.start();

try {
    p.waitFor();
} finally {
    p.getErrorStream().close();
    p.getInputStream().close();
    p.getErrorStream().close();
    p.destroy();
}
当我像这样创建eml文件时,还有一件事:

File resultEmail = File.createTempFile("test", ".eml");
它在服务器的临时目录上创建,而不是在用户pc的临时目录上创建


如何使用java运行outlook并在用户pc而不是服务器中打开eml文件?

考虑jcraft.jsch。注意Windows需要Ssh客户端(如Putty)


一旦您能够在远程计算机上ChannelExec.connect,Outlook将从此处获取eml文件

请编辑问题,将其限制为特定问题,并提供足够详细的信息,以确定适当的答案。避免同时问多个不同的问题。请参阅“如何询问”页面以获取帮助,以澄清此问题。我的问题有什么问题?我给出了所有的细节。避免一次问多个不同的问题。我不是问同一个问题,而是多个代码行。你应该提供更多信息。因此,您的服务器机器上运行着一个Java应用程序。它是网络应用程序的Tomcat吗?如何从客户机访问服务器应用程序?是每个浏览器还是另一个Java应用程序?