我寫下面的代碼來下載文件。通過java下載時出現jvm_bind問題
java.io.BufferedInputStream in =
new java.io.BufferedInputStream(new java.net.URL(url).openStream());
java.io.FileOutputStream fos = new java.io.FileOutputStream(filename);
java.io.BufferedOutputStream bout = new BufferedOutputStream(fos,1024);
byte[] data = new byte[1024];
int x=0;
while((x=in.read(data,0,1024))>=0)
{
bout.write(data,0,x);
}
if(filename.equalsIgnoreCase("table.csv"))
{
updateflag=true;
}
if(filename.equalsIgnoreCase("quotes.csv"))
{
quoteupdate=true;
}
bout.flush();
bout.close();
in.close();
現在,當一個名爲「table.csv」的文件作爲參數傳遞給下載函數時,一切都很流暢。問題是當我下載「table.csv」後嘗試下載「quotes.csv」時。
確切的調用是這樣的:
url="http://ichart.finance.yahoo.com/table.csv? s=%5EBSESN&a=00&b=31&c=2011&d="+(month-1)+"&e="+day+"&f="+year+"&g=d&ignore=.csv";
updateflag=true;
downloadDB("table.csv",url);
System.out.print("quotes to download");
url="http://download.finance.yahoo.com/d/quotes.csv?
s=%5EBSESN&f=sl1d1t1c1ohgv&e=.csv";
if(candownload==true)
{
downloadDB("quotes.csv",url);
}
candownload=false;
我得到錯誤說:無法識別的Windows套接字錯誤:0:JVM_BIND
現在我明白了JVM_BIND是說我已經連接到端口80的過程。 但是,我在我的函數結束時關閉了所有流。那爲什麼會發生呢? 在此先感謝
是的,有趣的是錯誤後顯示,table.csv被下載。 Quotes.csv然而不下載。 – CyprUS 2011-03-08 16:16:49