1
我試圖從url中獲取數據並將其轉儲到「content」實例變量中。應該在構造器中初始化url
和content
。 hasNextLine()
和nextLine()
也參與其中,但對於Java來說是全新的,我無法理解這一點。這裏是代碼:使用java.util.Scanner從網站將數據從網站讀取到變量中
public class NewsFinder {
// Instance variables
private String url;
private String content;
private Scanner s;
// Getter methods
public String getUrl() {
return url;
}
public String getContent() {
return content;
}
// Constructor
public NewsFinder(String url) {
this.url = url;
try {
Scanner s = new Scanner(new URL(url).openStream());
if (s.hasNextLine()) {
this.s = s.nextLine();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public boolean isInNews(Object o) {
if (((String) o).contains(content)) {
return true;
} else {
return false;
}
}
有什麼建議嗎?
Scanner s = new Scanner(new URL(url).openStream());
while (s.hasNextLine()) {
this.s += s.nextLine();
}
Personnaly,我會用一個InputStream和BufferedReader來實現這一目標:
不要將其命名構造函數's'的局部變量,這是你的'String'的名稱。另外,你在'content'還是's'中的內容? –
閱讀['hasNextLine'](http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNextLine())和['nextLine'](http:// docs .oracle.com/javase/7/docs/api/java/util/Scanner.html#nextLine())文檔。它將開始有意義:) – sam
hasNextLine()應該在while循環中從流中讀取完整內容...您可以閱讀java docs http://docs.oracle.com/javase/7/docs/api/java/ util/Scanner.html – MIK