2012-09-03 39 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,但!