2012-09-03 43 views
2

是在調用disconnect()後仍然可用的InputStream嗎?確實HttpUrlConnection.disconnect關閉了InputStream?

我想爲HTTP請求創建一個助手類,它將返回InputStream,但關閉連接。可能嗎 ?

例如:

public InputStream Get(String url) { 
    URL u = new URL(url); 
    HttpUrlConnection con = (HttpUrlConnection) url.openConnection(); 
    InputStream in = null; 
    try { 
     in = con.getInputStream(); 
    } finally { 
     con.disconnect(); 
    } 

    return in; 
} 
+1

'中= com.getInputStream();'???? com爲什麼?它看起來像你的代碼中有拼寫錯誤。 – Lucifer

+0

@Lucifer typo我猜:HttpUrlConnection con –

+0

@LazyNinja,從eclipse中看它的純副本粘貼的縮進,那它怎麼可能是錯字呢? – Lucifer

回答

0

這是不可能的。一個輸入流只是一個到服務器的管道,它不包含任何數據。 可能這樣做:

public byte[] Get(String url) { 
URL u = new URL(url); 
byte [] data = null 
HttpUrlConnection con = (HttpUrlConnection) url.openConnection(); 
InputStream in = null; 
try { 
    in = con.getInputStream(); 
    data = readDataFromStream(in); 
} finally { 
    con.disconnect(); 
} 

return data; 

}

0

之前斷開騙子,請確保您已閱讀的InputStream,但!