我正在开发一种对具有 http 接口的数据库进行广泛查询的软件。所以我的程序解析和处理长 http:// 地址形式的查询..
我已经意识到整个系统的瓶颈是查询和数据传输几乎没有超过 20KB/s,即使我坐在大学网络中,有千兆连接。最近我的一个朋友提到我可能以一种无效的方式编写了我的代码,这可能是这个过程缺乏速度的原因。所以我的问题是从 Java 中的 Web 源获取数据的最快/最有效的方法是什么。
这是我现在拥有的代码:
private void handleQuery(String urlQuery,int qNumber, BufferedWriter out){
BufferedReader reader;
try{
// IO - routines: read from the webservice and print to a log file
reader = new BufferedReader(new InputStreamReader(openURL(urlQuery)));
....
}
}
private InputStream openURL(String urlName)
throws IOException
{
URL url = new URL(urlName);
URLConnection urlConnection = url.openConnection();
return urlConnection.getInputStream();
}