1

次のようなものを使用する場合:

URL url = new URL(a_url);
URLConnection url_conn = url.openConnection();
Object content = url_conn.getContent();

取得されたファイルの MIME タイプは、私がデバッグした HTML または XML であり content、実行時に次のインスタンスが含まれます。

sun.net.www.protocol.http.HttpURLConnection$HttpInputStream

そのインスタンスで使用したい場合、どうすればinstanceofよいですか?

if (content instanceof PlainTextInputStream)
{
...
}  
else if(content instanceof ImageProducer)
{
...
}
else if(content instanceof ???) {}
4

1 に答える 1

7

実装クラスに依存しないでください。いつか壊れます。

リクエストヘッダーに基づいて、これをどのように行うべきだと思います:

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
    ......
  } 

Content-Type の詳細については、こちらをご覧ください。

于 2012-07-13T09:52:06.640 に答える