Java 如何多次从url获取一些文本?

Java 如何多次从url获取一些文本?,java,android,url,web,connect,Java,Android,Url,Web,Connect,这个问题解决了 标题的Sry-_- 我正在尝试创建一个应用程序,从网页中获取一些文本。当您点击“下一步”按钮时,您将进入下一页并更新文本。我的问题是,当你点击“下一步”按钮时,文本没有更新。最好我只想运行下面的代码来更新文本。我想我已经把它缩小到了我建立联系的方式的问题 private static BufferedReader page; public void checkPage(String website, int number){ URL url = null;

这个问题解决了

标题的Sry-_- 我正在尝试创建一个应用程序,从网页中获取一些文本。当您点击“下一步”按钮时,您将进入下一页并更新文本。我的问题是,当你点击“下一步”按钮时,文本没有更新。最好我只想运行下面的代码来更新文本。我想我已经把它缩小到了我建立联系的方式的问题

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”中的一些公共方法提取数据以供使用

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

更新

我是弗雷金傻瓜。。我只是忘记了重置一些布尔值来启用数据读取。这就是在深夜编写代码时发生的情况

试试这个

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();
    }
}

很抱歉,我无法弄清楚您到底想要什么,因为当前您只是从页面中获取了一行,所以您最终只获得了行变量中的最后一行。在您的checkline函数中,您将它保存在哪里?

将BufferedReader更改为none static并没有真正的帮助,但可能会更干净一些

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

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

更新


我是弗雷金傻瓜。。我只是忘记了重置一些布尔值来启用数据读取。这就是在深夜编写代码时发生的情况

你从对象连接中得到了什么?它是空的吗?你有例外吗?你从对象页面得到了什么?在调试的这个阶段,如果您知道症状是什么,它会有所帮助。将BufferedReader更改为none static并没有真正的帮助,但可能会更干净一些。。很抱歉没有提及我是如何保存数据的。当前的设置是,我有一个名为“GetDataFromPage”的类,它将数据保存在一些私有字符串变量中,然后我使用“GetDataFromPage”中的一些公共方法提取数据以供使用。。问题是“GetDataFromPage”类中的数据在调用data.checkPage(web,url+1)时不希望更新;如果数据来自页面GetDataFromPagewell将BufferedReader更改为none static并没有真正的帮助,但可能会更干净一些。。很抱歉没有提及我是如何保存数据的。当前的设置是,我有一个名为“GetDataFromPage”的类,它将数据保存在一些私有字符串变量中,然后我使用“GetDataFromPage”中的一些公共方法提取数据以供使用。。问题是“GetDataFromPage”类中的数据在调用data.checkPage(web,url+1)时不希望更新;其中数据是GetDataFromPage