1

我一直在尝试尽可能多地阅读有关此内容的 stackoverflow,但我需要打开一个 Outlook 脱机模板 (.oft) 文件。然后附上一个文件。我会将命令放入 java 应用程序中。

我会使用命令行开关,但它会创建带有附件的新消息并打开经常文件,它不会将其附加到.oft。

"C:\Program Files (x86)\Microsoft Office\Office14\Outlook.exe" /f "C:\RSASoftToken\android.msg" /a "C:\RSASoftToken\android\WMH7.sdtid"

如果有办法让命令行工作,那将是最简单的。如果不是,我还能在 java 中做什么?

我需要将其添加到此代码中

    //the New File Name
    String newFileName = Prefix + fileName.substring(0,4) + Suffix + fileExtension;
    String tentativeName = "new Filename will be ->"+newFileName+"\n";
    System.out.println(tentativeName);
    if(cbxAndroid.isSelected() == true ){
        try {   Runtime rt = Runtime.getRuntime();                               
                Process pr = rt.exec("cmd /c \\RSASoftToken\\TokenConverter.exe \\RSASoftToken\\android\\"+newFileName+" -android -o \\RSASoftToken\\android\\"+newFileName.substring(0,4)+".txt");
                BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));                  
                String line=null;                 
        while((line=input.readLine()) != null) {                     
            System.out.println(line);                 }                  
        int exitVal = pr.waitFor();                 
        System.out.println("Exited with error code "+exitVal);              
        } catch(Exception e) {                 
            System.out.println(e.toString());                 
            e.printStackTrace();             
            }         

        }
4

1 回答 1

0

以下是从 Java 执行该命令的方式:

    Process p = Runtime.getRuntime().exec(new String[]{
        "C:\Program Files (x86)\Microsoft Office\Office14\Outlook.exe",
        "/f",
        "C:\mail\android.oft",
        "/a",
        "C:\android\file.txt");

然后,您可以调用对象getXxxStream()上的方法Process来获取用于写入外部进程标准输入并从其标准输出和标准错误中读取的流。

但是,我不明白你在这里真正想要做什么,或者运行这个命令是否会让你实现它。

于 2012-06-24T06:20:14.707 回答