2012-07-01 29 views
0

這個問題已經解決如何多次從url獲取一些文本?

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

更新

我frekin傻..一切是爲一些布爾值,我忘了復位實現數據的讀取。也就是說當你在深夜寫代碼時會發生什麼..

+0

你從對象連接中得到什麼?它是否爲空?你有異常嗎?你從目標頁面得到什麼?在調試的這個階段,如果你知道症狀是什麼,它會有所幫助。 –

回答

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

把BufferedReader更改爲none靜態並沒有真正的幫助,但可能會稍微清理一下..對不起,我沒有提及如何保存數據。目前的設置是我有一個名爲「GetDataFromPage」的類將數據保存在一些私有字符串變量中,然後使用「GetDataFromPage」中的一些公共方法來提取數據以供使用。 問題是數據在當我調用數據時,「GetDataFromPage」類不會縫到想要更新。checkPage(web,url + 1);數據是GetDataFromPage – woxer

0

對不起,我無法弄清楚究竟你想要的,因爲目前我們就可以抓取1線從頁面開始,所以你最終得到的只是行中最後一行的變量。你在哪裏保存它,在你的checkline函數中?

+0

以及改變BufferedReader爲none靜態並沒有真正的幫助,但可能會更清潔..抱歉沒有提到我如何保存數據。目前的設置是,我有一個名爲「GetDataFromPage」的類將數據保存在一些私有字符串變量中,然後使用「GetDataFromPage」中的一些公共方法來提取數據以供使用。問題是,數據在「當我調用data.checkPage(web,url + 1)時,GetDataFromPage類沒有接縫想要更新;數據是GetDataFromPage – woxer

0

以及改變的BufferedReader無法比擬的靜態並沒有真正的幫助,但可能是有點清潔..

對不起,不提我如何保存數據。目前的設置是我有一個名爲「GetDataFromPage」的類將數據保存在一些私有字符串變量中,然後使用「GetDataFromPage」中的一些公共方法來提取數據以供使用。

問題是當我調用data.checkPage(web,url + 1)時,「GetDataFromPage」類中的數據不會縫到想要更新的位置;其中數據是GetDataFromPage

UPDATE

我frekin傻..一切是爲一些布爾值,我忘了復位實現數據的讀取。當你在深夜編寫代碼時會發生什麼......