Java - BufferedReader没有从url读取

时间:2014-04-20 07:54:41

标签: java url bufferedreader

我试图从45页完全相同(除了当然正在读取的部分)并将它们写在行列表中。

我到目前为止编写了这段代码:

    public static ArrayList<ArrayList<String>> linesWeNeed(){
    ArrayList<ArrayList<String>> returnListList = new ArrayList<ArrayList<String>>();
    for(int i = 1; i<=45; i++){
        int pageNum=(i*20)-20;
        System.out.println("PageNum"+pageNum);
        URL url=null;
        try {
            url = new URL("http://tq.mot.gov.il/index.php?option=com_moofaq&iotype=w&view=category&lang_ovrrde=ENG&id=3&Itemid=29&limitstart="+pageNum);
        } catch (MalformedURLException e) {
            System.out.println("Oh uh!");
        }

        BufferedReader in = null;
        try {
            in = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
        } catch (IOException e) {
            System.out.println("FATAL ERROR");

            e.printStackTrace();
        }
        ArrayList<String> lineCodes = new ArrayList<String>();
        ArrayList<String> linesWeNeed = new ArrayList<String>();
        String line;
        try {
            readLines:
            while((line=in.readLine())!=null){
                if(line.contains("</tr></table></div></div></li></ul></div></div><br /></div>")){
                    break readLines;
                }
                lineCodes.add(line);
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        for(int o = 1; o>=lineCodes.size(); o++){
            String readLine = lineCodes.get(o-1);
            if(o>=297){
                linesWeNeed.add(readLine);
            }

        }
        returnListList.add(linesWeNeed);
    }
    return returnListList;
}

没有错误,但由于某种原因,方法返回的arraylist中的每个列表都是空的。为什么呢?

提前致谢!

2 个答案:

答案 0 :(得分:3)

for(int o = 1; o>=lineCodes.size(); o++){

您的循环条件已回到正面。试试&lt; =。

答案 1 :(得分:1)

  

for(int o = 1; o&gt; = lineCodes.size(); o ++){

仔细检查那里的循环条件;似乎该块永远不会执行...