迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

Java 错误 Java.Net.SocketException: Network Is Unreachable

作者:迹忆客 最近更新:2023/07/16 浏览次数:

今天我们就来讨论一下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/笔记本电脑上使用应用程序时也会发生这种情况,但频率较低。

第二个原因可能是端口和/或主机名不正确。 确保两者都正确。

此外,您还必须记住另外两件事,这有助于识别错误。

  1. 首先,如果您完全与互联网断开连接,您将收到 java.net.UnknownHostException 错误
  2. 通常,网络不可达与超时错误不同。 在超时错误中,它甚至找不到它应该去哪里。

    例如,关闭 Wi-Fi 卡和没有 Wi-Fi 之间可能存在差异。

首先,对防火墙进行常规操作,以确保所需端口已打开。 然后,查看您可能遇到的网络问题。

关闭防火墙并消除路由器等障碍和复杂性,使其在尽可能简单的情况下工作,因为这是与网络相关的问题,而不是与代码相关的问题。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Java 错误 Java.Security.InvalidKeyException: Illegal Key Size

发布时间:2023/07/15 浏览次数:98 分类:Java

本篇文章介绍包含 java.security.InvalidKeyException: Illegal key size 的 Java 代码。 然后,我们将了解其可能的原因。最后,它通过消除指定的错误来引导我们找到解决方案。

Java 中错误 Unsupported Major Minor Version

发布时间:2023/07/14 浏览次数:68 分类:Java

出现 Unsupported Major.minor version 错误或 Java.lang.UnsupportedClassVersionError 的原因是运行时 JDK 较低,编译时 JDK 较高。 本篇文章介绍如何解决Java中不支持的major.minor版本。

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”错误。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便