我正在尝试使用 apache httpclient 从 Internet 检索文本文件。我正在使用以下代码:
HttpClient httpclient = new DefaultHttpClient();
HttpGet getHNMR = new HttpGet("http://www.hmdb.ca/labm/metabolites/" + HMDB + "/chemical/pred_hnmr_peaklist/" + HMDB + "_peaks.txt");
HttpGet getCNMR = new HttpGet("http://www.hmdb.ca/labm/metabolites/" + HMDB + "/chemical/pred_cnmr_peaklist/" + HMDB + "_peaks.txt");
try {
responseH = httpclient.execute(getHNMR);
responseC = httpclient.execute(getCNMR);
} catch (ClientProtocolException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
System.out.println("client exception");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
System.out.println("ioexception");
}
//Generate HNMR peak list
HttpEntity entityH = responseH.getEntity();
HttpEntity entityC = responseH.getEntity();;
try {
HNMR = EntityUtils.toString(entityH);
CNMR = EntityUtils.toString(entityC);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
System.out.println("parseexception");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
System.out.println("ioexception");
}
//Set peak lists to textarea
HC.setText(CNMR + "\n" + HNMR);
我得到以下堆栈跟踪:
Thread [pool-2-thread-1] (Suspended (exception IllegalStateException))
ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) line: 1128
ThreadPoolExecutor$Worker.run() line: 603
Thread.run() line: 679
我对调试不是很熟悉,所以我不确定到底发生了什么。