我有一個程序,我在工作中爲Java編寫了一個XML文件,它允許用戶以表格形式查看XML,進行更改,然後將表格保存爲新文件XML。使用進程生成器在Internet Explorer中打開文件Java
除了一個小細節外,一切都完成了。一旦用戶保存了表格,數據當然會被解析爲一個新的XML。然後我想要一個對話框出現,告訴用戶保存位置並詢問他們是否想打開文件。
如果用戶點擊是,那麼我想要在Internet Explorer中打開XML。我在另一個程序中成功實現了一個類似ProcessBuilder的方法,但是在那種情況下,需要使用記事本打開的文件才能完美運行。
現在我遇到的問題是,雖然InternetExplorer將打開文件不會打開,瀏覽器將只停留在主頁上。如果有人能幫助我,我會在下面發佈我的代碼,我將不勝感激!
location = "//CamT54Revised"+date+".xml";
location = fHandling.saveFile.getSelectedFile()+location;
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(location));
transformer.transform(source, result);
int dialogResult = JOptionPane.showConfirmDialog(null, "Output file saved as "+location+". Would you like to view the file?","Display Output",JOptionPane.YES_NO_OPTION);
if(dialogResult==JOptionPane.YES_OPTION){
ProcessBuilder pb = new ProcessBuilder("C:\\Program Files\\Internet Explorer\\iexplore.exe", location);
try{
pb.start();
}catch(IOException e){
e.printStackTrace();
}
}
Windows不使用正斜槓(''//),所以'location'值不被IE理解。爲什麼它甚至從「//」開始呢? – Andreas