我一直在尝试尽可能多地阅读stackoverflow,但我需要打开一个outlook离线模板(.oft)文件。然后附加一个文件。我将把命令放到java应用程序中。
我会使用命令行开关,但它会使用附件创建一条新消息并打开oft文件,而不是将其附加到.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();
}
}
答案 0 :(得分: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
方法来获取用于写入外部进程标准输入的流,并从其标准输出和标准错误中读取。
但是,我不明白你在这里真正想做什么,或者运行这个命令是否会让你实现它。