我有一个每隔10分钟运行一次的java应用程序。因此,每当线程开始执行时,我都必须检查是否存在网络连接。所以我使用Socket类来实现这个目的。但是问题在于,如果电线没有连接到我的系统上,Socket类就能正常工作。如果我插入电线,就会有局域网但没有互联网。在这种情况下,Socket类无法抛出错误。以下是我的代码 -
我查看了这里的代码 - 使用Java检测互联网连接。但是使用getContent()方法并没有帮助。
Socket socket = null;
try {
socket = new Socket("www.google.com", 80);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (socket != null) try { socket.close();
}
catch(IOException e) {
e.printStackTrace();
}
System.exit(0);
}
我查看了这里的代码 - 使用Java检测互联网连接。但是使用getContent()方法并没有帮助。
System.exit(0)
(至少在Java7中),则finally
部分不会被执行。 - Pshemo