xde*_*000 1 java servlets httpurlconnection
当我使用类似的东西:
URL url = new URL(a_url);
URLConnection url_conn = url.openConnection();
Object content = url_conn.getContent();
Run Code Online (Sandbox Code Playgroud)
并且检索的文件的MIME类型是我调试的HTML或XML,
content
在运行时将包含以下实例:
sun.net.www.protocol.http.HttpURLConnection$HttpInputStream
Run Code Online (Sandbox Code Playgroud)
现在,如果我想instanceof
在该实例上使用,我该怎么办?
if (content instanceof PlainTextInputStream)
{
...
}
else if(content instanceof ImageProducer)
{
...
}
else if(content instanceof ???) {}
Run Code Online (Sandbox Code Playgroud)
您不应该依赖于实现类.有一天它会破裂.
我认为你应该如何根据请求标题来做到这一点:
URLConnection url_conn = url.openConnection();
httpURLConnection http_url_conn = (httpURLConnection )url.openConnection();
String contentType = http_url_conn.getContentType()
if(contentType.contains("text/plain")){
//handle plain text
.....
} else if(contentType.contains("images/jpeg")){
//handle image
......
}
Run Code Online (Sandbox Code Playgroud)
在此处阅读有关Content-Type的更多信息:
归档时间: |
|
查看次数: |
5780 次 |
最近记录: |