Java 错误 Java.Net.SocketException: Network Is Unreachable
今天我们就来讨论一下Java编程时出现java.net.SocketException: Network is unreachable异常的可能原因及解决方法。
Java中出现java.net.SocketException: Network is unreachable的可能原因及解决方案
示例代码(导致错误):
//import required libraries
import java.io.*;
import java.net.URL;
//Main class
public class Main {
//download method
static void downloadXML (String webUrl, String file) throws IOException{
//create object
FileWriter xmlFileWriter;
xmlFileWriter = new FileWriter(file);
System.out.println("URL used for downloading the file is : " + webUrl);
// this statement throws an Exception
BufferedReader inputTextReader = new BufferedReader (
new BufferedReader(
new InputStreamReader(
new URL(webUrl).openStream())));
//create and initialize variables
String string ;
String fileInString = "";
string = inputTextReader.readLine();
//read file
while (string != null ){
fileInString += (string + "\r\n");
string = inputTextReader.readLine();
}
//write file
xmlFileWriter.write(fileInString);
xmlFileWriter.flush();
xmlFileWriter.close();
System.out.println("The File is Downloaded");
}//end download() function
//main method
public static void main(String[] args){
try{
downloadXML("https://www.test.org/Members/stevens/docs/sample.xml",
"downloadXML.xml");
}catch(IOException exception){
exception.printStackTrace();
}
}//end main
}//end Main class
在此代码中,我们将 URL 和 fileName 传递给 downloadXML()
方法,该方法从指定的 URL 读取 .xml 文件并将其写入给定的 fileName,该文件进一步保存在我们的本地系统上。
尽管此代码示例在语法和语义上都是正确的,但会生成 java.net.SocketException: Network is unreachable 异常。 该错误是不言自明的,告诉我们网络当前不可用。
造成此错误的原因是连接中断。 它可能发生在机器(计算机/笔记本电脑)上的 Wi-Fi、3G 或普通互联网连接中。
每当我们收到此错误时,我们必须假设互联网连接不稳定,并且在编写应用程序时可能会不时丢失。
例如,当我们在地下室或地铁等地方时,手机经常会发生这种情况。在 PC/笔记本电脑上使用应用程序时也会发生这种情况,但频率较低。
第二个原因可能是端口和/或主机名不正确。 确保两者都正确。
此外,您还必须记住另外两件事,这有助于识别错误。
- 首先,如果您完全与互联网断开连接,您将收到 java.net.UnknownHostException 错误
-
通常,网络不可达与超时错误不同。 在超时错误中,它甚至找不到它应该去哪里。
例如,关闭 Wi-Fi 卡和没有 Wi-Fi 之间可能存在差异。
首先,对防火墙进行常规操作,以确保所需端口已打开。 然后,查看您可能遇到的网络问题。
关闭防火墙并消除路由器等障碍和复杂性,使其在尽可能简单的情况下工作,因为这是与网络相关的问题,而不是与代码相关的问题。
相关文章
Java 错误 Java.Security.InvalidKeyException: Illegal Key Size
发布时间:2023/07/15 浏览次数:98 分类:Java
-
本篇文章介绍包含 java.security.InvalidKeyException: Illegal key size 的 Java 代码。 然后,我们将了解其可能的原因。最后,它通过消除指定的错误来引导我们找到解决方案。
Java 错误 Java.SQL.SQLException: Access Denied for User Root@Localhost
发布时间:2023/07/15 浏览次数:72 分类:Java
-
本篇文章介绍如何解决 Java 中的 java.sql.SQLException: Access Denied for user 'root'@'localhost' 错误。修复 Java 中的 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
Java 错误 Gateway Process Exited Before Sending Its Port Number
发布时间:2023/07/15 浏览次数:104 分类:Java
-
本篇文章介绍了 Java 中 Java gateway process exited before sending the driver its port number 错误 Java gateway process exited before sending the driver its port number 错误
修复 Java 中 Java.Net.BindException: Address Already in Use: Bind 错误
发布时间:2023/07/15 浏览次数:77 分类:Java
-
本篇文章介绍了 Java 中的 java.net.BindException:Address already in use: Bind 错误。修复Java 中的 java.net.BindException:Address already in use: Bind
修复 Java 中 Java.Net.SocketException: Broken Pipe 错误
发布时间:2023/07/15 浏览次数:162 分类:Java
-
本篇文章介绍了使用 Java 编程的 java.net.SocketException: Broken pipeline 错误,并重点介绍了其可能的原因和解决方案。错误描述、原因及解决方法
Java 中错误 Unsupported Major Minor Version
发布时间:2023/07/14 浏览次数:68 分类:Java
-
出现 Unsupported Major.minor version 错误或 Java.lang.UnsupportedClassVersionError 的原因是运行时 JDK 较低,编译时 JDK 较高。 本篇文章介绍如何解决Java中不支持的major.minor版本。
Java 错误 Error:Java: Javactask: Source Release 1.8 Requires Target Release 1.8
发布时间:2023/07/14 浏览次数:201 分类:Java
-
在使用IntelliJ for Java时,无法编译Java程序是一个常见的问题。 本教程提供了此错误的解决方案。Error:Java: Javactask: Source Release 1.8 Requires Target Release 1.8 错误
Java 中 Could Not Find Java SE Runtime Environment 错误
发布时间:2023/07/14 浏览次数:149 分类:Java
-
当安装了运行时环境时,即 Java 找不到主 java.dll 文件时,可能会出现“Could not find Java SE Runtime Environment”错误。 本篇文章介绍如何解决 Java 中的“Could not find Java SE Runtime Environment”错误。
Java 中错误 java.net.SocketException: Software Caused Connection Abort: Recv F
发布时间:2023/07/14 浏览次数:75 分类:Java
-
本篇文章介绍如何解决 Java 中的以下错误:java.net.SocketException: Software caused connection abort: recv failed SocketException 是 IOException 的子类,当我们尝试访问套接字时会发生 IOException。