«java .io.EOFException» вызвано использованием Jsoup в Android Studio - PullRequest
0 голосов
/ 03 апреля 2020

Когда я использовал Jsoup в android, иногда я сталкиваюсь с проблемой java.io.EOFException.

Иногда ошибка не возникает, а иногда возникает ошибка.

Это мой код .

public void crawlingNotice() throws IOException {
    String connUrl3 = connUrl + pageNum;
    Document doc = Jsoup.connect(connUrl3).get();
    Element element = doc.getElementById("listBoardFrm");
    if (element != null) {
        Element tbody = element.selectFirst("table").selectFirst("tbody");
        if (tbody != null) {
            List<Element> trTags = tbody.children();
            notice.clear();
            for (int i = 1; i < trTags.size(); i++) {
                Element trTag = trTags.get(i);
                if (trTag != null) {
                    if (trTag.attributes().hasDeclaredValueForKey("onmouseover")) {
//                      System.out.println(i);  // test code
                        String[] str = new String[NORDATA];
                        str[0] = trTag.select("td").get(2).selectFirst("a").html();
                        str[1] = connUrl2 + trTag.select("td").get(2).selectFirst("a").attributes().get("href");
                        str[2] = trTag.select("td").get(3).html();
                        str[3] = trTag.select("td").get(4).html();
                        str[4] = trTag.select("td").get(5).html();
                        notice.add(str);
                    } else if ((!isUpperNotice)
                            && (!trTag.selectFirst("td").attributes().get("class").equals("line_dot"))
                            && (!trTag.selectFirst("td").attributes().get("class").equals("line_gray02"))) {
                        Element aTag = trTag.select("td").get(1).selectFirst("a");
                        String[] str = new String[UPPERDATA];
                        str[0] = aTag.html();
                        str[1] = connUrl2 + aTag.attributes().get("href");
                        upperNotice.add(str);
                    }
                }
            }
            this.isUpperNotice = true;
//          System.out.println();   // test code for debug

        }
    }
    element = null;

    List<Element> elements = doc.getElementsByAttributeValue("alt", "끝페이지");
    element = elements.get(0).parent();
    String maxNum = element.attributes().get("href");
    maxNum = maxNum.replace(replaceUrl, "").trim();
    this.maxPageNum = Integer.parseInt(maxNum);
//  System.out.println();   // test code for debug
}

Почему мое приложение иногда d ie, а иногда работает?

...