2014-02-14 14 views
0

我遇到了一些麻煩找到問題的解決方案。我已經搜尋了一下,看能否找到答案,而且我沒有找到任何能夠幫助我更清楚地瞭解問題的東西。我想我錯過了使用包裝的關鍵點的一部分。從java中讀取URL輸入和排序值

這裏是問題:我需要使用URL類從下面的網站讀取輸入。

national weather service

一旦我讀了它在我需要找到最低氣溫和日。溫度和一天將是變量,我必須使用ArrayList收集和存儲它們。我瞭解除URL以外,我需要使用的各個部分ArrayListScannerException。當我閱讀URL時,我如何提取我需要的值?

我應該讀取文件的輸入嗎?我覺得我仍然會回到原點。試圖將日期和溫度與其他一切分開。

回答

0

我想你錯過了一些東西。

首先你不讀一個網址,也不是我認爲你的意思。你可以發送一個HTTP請求到一個URL,並從中你希望得到一個迴應。不幸的是,java.net.URL將不會發送HTTP請求或處理HTTP響應。要發送HTTP請求(獲取響應並處理HTTP的所有特質),您應該查看像Apache's HTTP Components這樣的API。

從你看到的URL中,你會得到一個包含HTML的響應(至少這是我的瀏覽器得到的)。你可以把它保存在內存中,因爲你需要它來解析它。

現在,解析響應將成爲最難的一點。數據似乎已被格式化爲使用monospace font進行顯示,即:它將顯示爲漂亮整齊的列。根據你想多麼複雜,使解析,你可以在algorthm使用此一致的柱間距是:

  • 標識響應字符串中的數據的開始(搜索的=第二行)
  • 在開始複製第10和第11列的值之後迭代每行,並將它們添加到列表中,直到達到數據的結尾(由另一行=標記)。

工作完成。

+0

謝謝。我有更多的搜索,發現我不得不解析Http。 – mike