06_HttpEntityの使用


HttpEntityエンティティは、ストリームまたは文字列形式を使用できます.
具体的にどんな使い方があるかは彼の方法を見て説明します.
package com.scl.base;

import java.io.IOException;
import java.io.UnsupportedEncodingException;

import org.apache.http.HttpEntity;
import org.apache.http.ParseException;
import org.apache.http.entity.StringEntity;
import org.apache.http.util.EntityUtils;

public class HttpClientDemo06 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			HttpEntity entity = new StringEntity(" ", "UTF-8");
			// 
			System.out.println(entity.getContentType());
			// 
			System.out.println(entity.getContentEncoding());
			// 
			System.out.println(entity.getContentLength());
			// 
			System.out.println(EntityUtils.toString(entity));
			// 
			System.out.println(EntityUtils.toByteArray(entity).length);
			// 
			//entity.getContent();
		} catch (UnsupportedEncodingException e) {
			throw new RuntimeException(e);
		} catch (ParseException e) {
		} catch (IOException e) {
		}
		
		
	}

}

エンティティのリソースの使用が完了したら、リソースを適切に回収します.特に、ストリームエンティティの場合、例コードは次のとおりです.
public static void test() throws IllegalStateException, IOException{
		HttpResponse response = null;
		HttpEntity entity = response.getEntity();
		
		if(entity!=null){
			 
				InputStream is = entity.getContent();
				try{
					// 
				}finally{
					// , 
					if(is != null){
						is.close();
					}
					// 
					EntityUtils.consume(entity);
					// 
					/*public static void consume(final HttpEntity entity) throws IOException {
				        if (entity == null) {
				            return;
				        }
				        if (entity.isStreaming()) {
				            InputStream instream = entity.getContent();
				            if (instream != null) {
				                instream.close();
				            }
				        }
				    }*/
				}
				
			 
		}