Читатель с буферизацией на Java читает часть URL-адреса String, а затем зависает (есть ли ограничение по размеру?) - PullRequest
0 голосов
/ 17 сентября 2011

Я пытаюсь прочитать URL в строку, и он начинает читать в URL, а затем просто останавливается на одной и той же строке каждый раз и зависает. Это происходит с любым URL-адресом, и это происходит, когда я запускаю программу из командной строки в Windows 7. Когда я запускаю ту же программу в Eclipse, она никогда не зависает и не читает на всем веб-сайте.

Он всегда попадает в "строку 2" и внутри цикла while, но никогда не в "строку 3".

Вот код, который я использую ниже. Есть ли какой-то тип ограничения размера или что-то подобное, когда вы делаете это прямо через Windows в командной строке?

URL link = new URL("http://www.yahoo.com");
System.out.println("got to this line 1");
BufferedReader in = new BufferedReader(new InputStreamReader(link.openStream()));

System.out.println("got to this line 2");
        //InputStream in = link.openStream();
        String inputLine = "";
        int count = 0;
        while ((inputLine = in.readLine()) != null)
        {
            site = site + "\n" + inputLine;
            System.out.println(inputLine);
        }
        System.out.println("exited the while loop.");
        in.close();
        System.out.println("got to this line 3");

1 Ответ

0 голосов
/ 17 сентября 2011

Я взял этот код, поместил его в метод main, добавил переменную site как String site = "";, скомпилировал ее с IntelliJ и запустил из командной строки Windows 7, и она работала нормально:

> java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

Вывод программы:

got to this line 1
got to this line 2
<all of the page source>
exited the while loop.
got to this line 3

Работает ли она так же, если вы закомментируете строку, которая печатает каждую строку при ее чтении?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...