java.io.IOException:ipm.note。系统找不到指定的文件

java.io.IOException:ipm.note。系统找不到指定的文件,java,Java,以下是尝试打开outlook创建新电子邮件时引发的异常 例外情况: java.io.IOException: Cannot run program "C:\Program Files (x86)\Microsoft Office\root\Office16\OUTLOOK.EXE /c ipm.note": CreateProcess error=2, The system cannot find the file specified 以下代码段的第一行出现异常: ProcessBuilder

以下是尝试打开outlook创建新电子邮件时引发的异常

例外情况:

java.io.IOException: Cannot run program "C:\Program Files (x86)\Microsoft Office\root\Office16\OUTLOOK.EXE /c ipm.note": CreateProcess error=2, The system cannot find the file specified
以下代码段的第一行出现异常:

ProcessBuilder processBuilder = new ProcessBuilder("C:\\Program Files (x86)\\Microsoft Office\\root\\Office16\\OUTLOOK.EXE /c ipm.note");
            try {
                processBuilder.start();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
当我没有指定开关时,
/c ipm.note
代码工作正常,新的outlook窗口打开。但有了这个开关,我得到了一个例外。不知道原因是什么

我参考了以下stackoverflow帖子和相关网站:


请引导我。如果您需要更多信息,请告诉我。

您应该拆分参数,否则它将无法正常工作:

ProcessBuilder processBuilder = new ProcessBuilder(
  "C:\\Program Files (x86)\\Microsoft Office\\root\\Office16\\OUTLOOK.EXE",
  "/c", "ipm.note");

如果在命令提示符下执行该命令,是否可以看到任何错误?@Sambit刚刚尝试过。当我通过cmd运行它时,我没有得到任何错误。它成功地打开了新的电子邮件窗口。您能提供stacktrace详细信息吗?这将使人们对这个问题有更多的了解。有时,若有一个类似空格的字符串用于访问文件和文件夹,那个么在Windows中就会出现问题。你能这样试试吗。“\”“+”C:\\Program Files(x86)”+“\”“+File.separator+Microsoft Office+File.separator+“root”+File.separator+“Office16”如下所示。@Sambit谢谢您的帮助。“负”的解决方案对我有效。我错过了辩论,这解决了我的问题。我没有把争论分开。谢谢。