我已经将Java放在一起并获得了一个" programm"读取网站的源代码并通过BufferedReader String Suche逐行搜索,将URL复制到剪贴板中,如果匹配则通过JOptionPane发送消息。总而言之,它工作得很好,但是存在一个问题:性能。 这主要是因为我认为我的网络延迟。
首先,这是我的代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.awt.Toolkit;
import java.awt.datatransfer.StringSelection;
import javax.swing.JOptionPane;
public class Verbindung {
static String links ="";
public static void main(String[] args) {
String[] urls = {"http://google.de"};
for(int i=0; i < urls.length; i++ ){
try {
URL url = new URL(urls[i]);
show(url);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(
new StringSelection(links), null);
if (links != ""){
JOptionPane.showMessageDialog(null, "Es wurden Links gefunden!");
}
}
private static void show(URL url) throws IOException{
InputStream in = url.openStream();
BufferedReader buff = new BufferedReader(new InputStreamReader(in));
String s;
while ((s = buff.readLine()) != null) {
if(s.indexOf(Suche) != -1){
links += url;
}
}
}
}
编辑: Theres是RealSkeptic的一个好主意,在比赛结束后插入一个休息点并关闭阅读,但是并没有很好的表现。 有一些想法可以改善获取源代码的性能(不包括获得更高的下载速度:D)或者更好的方式吗?
来自德国的致敬。