Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Web读取数据_Java_Url_Exception_Infinite - Fatal编程技术网

Java 从Web读取数据

Java 从Web读取数据,java,url,exception,infinite,Java,Url,Exception,Infinite,我需要读上面的字数。我写了我的程序,NetBeans没有给我任何错误。然而,这个程序似乎是无限的。它并没有停止尝试执行,最终也没有给出答案(甚至没有计算,我不确定)。下面是代码 import java.net.*; import java.util.Scanner; import java.io.IOException; public class readDataFromWeb { public static void main(String[] args) { try

我需要读上面的字数。我写了我的程序,NetBeans没有给我任何错误。然而,这个程序似乎是无限的。它并没有停止尝试执行,最终也没有给出答案(甚至没有计算,我不确定)。下面是代码

import java.net.*;
import java.util.Scanner;
import java.io.IOException;
public class readDataFromWeb {
    public static void main(String[] args) {
        try {
            URL url = new URL("http://cs.armstrong.edu/liang/data/Lincoln.txt");
            int wordCount = 0;
            Scanner input = new Scanner(url.openStream());
            while(input.hasNext()) {
                wordCount++;
            }
            System.out.println(url + " has " + wordCount + " words.");
        }
        catch (MalformedURLException ex) {
            System.out.println("Invalid URL");
        }
        catch (IOException ex) {
            System.out.println("I/O Errors: No such file");
        }

    }
}

我的印象是,首先,url类型的变量url被声明并设置为。这是我错的地方吗?我输入的东西有误吗?如有必要,我可以提供更多信息。任何风格或概念上的见解也是受欢迎的;我在努力学习。谢谢

您从未真正从扫描仪中读取任何单词
hasNext
返回true,因为有一个单词您可以读取。。。但是你从来没有真正读过它,所以它一直准备让你阅读,所以
hasNext
一直返回true


只要在循环中调用
input.next()

你从来没有从扫描仪上读过任何单词。哇,我知道这是件愚蠢的事情。我已经盯着它看了45分钟了。非常感谢。这个解决方案奏效了。