У меня есть программа, которую я написал для Java на работе, которая принимает XML и позволяет пользователям просматривать XML в виде таблицы, вносить изменения, а затем сохранять таблицу как новый XML.
Все готово, кроме одной маленькой детали. Как только пользователь сохраняет таблицу, данные, конечно же, преобразуются в новый XML. Затем я хочу, чтобы появилось диалоговое окно, которое сообщает пользователю место сохранения и спрашивает, хотят ли они открыть файл.
Если пользователь нажимает «да», я хочу, чтобы XML открывался в Internet Explorer. Я успешно применил аналогичный подход с 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();
}
}
//
), поэтому значениеlocation
не понимается IE. Почему он вообще начинается с//
? - person Andreas   schedule 05.02.2016