0

这个问题解决了

抱歉标题-_- 我正在尝试创建一个从网页获取一些文本的应用程序。当您单击“下一步”按钮时,您将转到下一页并更新文本。我遇到的问题是当您单击“下一步”按钮时,文本没有更新。最好我只想运行下面的代码来更新文本。我想我已经把它缩小到我建立连接的方式的问题上。

private static BufferedReader page;

public  void checkPage(String website, int number){

    URL url = null;
    HttpURLConnection connection = null;
    String line = "start";

    try {
        url = new URL(website + number);
        connection = (HttpURLConnection) url.openConnection();
        page = new BufferedReader(new InputStreamReader(connection.getInputStream()));

        while (line != null) {

            line = page.readLine();
            checkLine(line);    
        }
        connection.disconnect();

    }catch (IOException e){
        e.printStackTrace();
    }
}

checkLine() 做了一些时髦的事情来获取我想要的文本..感觉就像我错过了一些明显的东西..

当前的设置是我有一个名为“GetDataFromPage”的类,它将数据保存在一些私有字符串变量中,然后我使用“GetDataFromPage”中的一些公共方法来提取数据以供使用..

问题是当我调用 data.checkPage(web, url+1); 时,“GetDataFromPage”类中的数据不想更新。其中数据是 GetDataFromPage

更新

我非常愚蠢..只是我忘记重置启用数据读取的一些布尔值。这就是你在深夜编写代码时发生的事情。

4

3 回答 3

0

抱歉,我不知道你到底想要什么,因为目前你只是从页面中抓取 1 行,所以你最终只有 line 变量中的最后一行。你在哪里保存它,在你的检查行功能中?

于 2012-07-01T18:00:46.587 回答
0

尝试这个,

private BufferedReader page;       // changed

public  void checkPage(String website, int number){

    URL url = null;
    HttpURLConnection connection = null;
    String line = "null";       // changed

    try {
        url = new URL(website + number);
        connection = (HttpURLConnection) url.openConnection();
        page = new BufferedReader(new InputStreamReader(connection.getInputStream()));

        while ((line=page.readLine()) != null) {   // changed

                                                  // changed
            checkLine(line);    
        }
        connection.disconnect();

    }catch (IOException e){
        e.printStackTrace();
    }
}
于 2012-07-01T17:58:47.063 回答
0

将 BufferedReader 更改为非静态并没有真正帮助,但可能会更干净一些。

抱歉没有提到我是如何保存数据的。当前的设置是我有一个名为“GetDataFromPage”的类,它将数据保存在一些私有字符串变量中,然后我使用“GetDataFromPage”中的一些公共方法来提取数据以供使用..

问题是当我调用 data.checkPage(web, url+1); 时,“GetDataFromPage”类中的数据不想更新。其中数据是 GetDataFromPage

更新

我非常愚蠢..只是我忘记重置启用数据读取的一些布尔值。这就是你在深夜编写代码时发生的事情。

于 2012-07-02T20:51:19.427 回答