Swing を使用して、ある Windows サーバーから別の Windows サーバーにディレクトリとファイルをコピーしていますが、問題なく動作します。コピー中にWindowsサーバーが予期せずダウンしたときにJoption Messagedialogをポップアップさせたいので、catchブロックでそれを指定しましたが、サーバーがダウンしたときにポップアップを表示することはありません(コピー中にWindowsサーバーを手動で再起動しますが、現れる)。誰かが助けてくれますか、ここにコードがあります
try {
textarea.append("Copying " + sourceFile.getAbsolutePath()
+ " to " + targetFile.getAbsolutePath());
is = new BufferedInputStream(new FileInputStream(sourceFile));
bos = new BufferedOutputStream(new FileOutputStream(targetFile));
long fileBytes = sourceFile.length();
long soFar = 0;
int theByte;
while ((theByte = bis.read()) != -1) {
bos.write(theByte);
setProgress((int) (copiedBytes++ * 100 / totalBytes));
publish((int) (soFar++ * 100 / fileBytes));
}
bis.close();
bos.close();
publish(100);
textarea.append(" Done!\n");
} catch (Exception excep) {
task.cancel(true);
bos.flush();
bis.close();
bos.close();
jf2 = new JFrame();
jf2.setSize(401, 401);
jf2.setDefaultCloseOperation(jf2.EXIT_ON_CLOSE);
JOptionPane.showMessageDialog(jf2,
"The Server is not accessible or it may be down because of Network Issue",
"ERROR", JOptionPane.ERROR_MESSAGE);
} finally {
if (bis != null) {
bis.close();
}
if (bos != null) {
bos.close();
}
}