package com.xunlei;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

/**
 * @author Hank
 * @date 2015-4-22 下午4:19:31
 */
public class HttpConnection {
	public HttpURLConnection conn;

	/**
	 * 创建连接
	 */
	public HttpURLConnection createConnection(String strUrl, String requestMethod, int timeout) {
		try {
			URL url = new URL(strUrl);
			conn = (HttpURLConnection) url.openConnection();
			conn.setRequestMethod(requestMethod);
			conn.setConnectTimeout(timeout);
			conn.setReadTimeout(timeout);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return conn;
	}

	/**
	 * 从连接中获得byte数组
	 */
	public byte[] getByte() {
		InputStream inStream = null;
		byte[] b = null;
		try {
			inStream = conn.getInputStream();// 通过输入流获取数据
			b = readInputStream(inStream);// 得到二进制数据
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (inStream != null) {
				try {
					inStream.close();
				} catch (IOException e) {
				}
			}
		}
		return b;
	}

	private byte[] readInputStream(InputStream inStream) {
		byte[] b = null;
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
		try {
			byte[] buffer = new byte[1024];
			int len = 0;
			while ((len = inStream.read(buffer)) != -1) {
				outStream.write(buffer, 0, len);
			}
			b = outStream.toByteArray();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (outStream != null)
				try {
					outStream.close();
				} catch (IOException e) {
				}
		}
		return b;
	}

	/**
	 * 读取文件
	 */
	public byte[] inPut(String filePath) {
		File file = new File(filePath);
		if (file.canRead()) {
			FileInputStream fis = null;
			try {
				fis = new FileInputStream(file);
				return this.readInputStream(fis);
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				if (fis != null)
					try {
						fis.close();
					} catch (IOException e) {
					}
			}
		}
		return null;
	}

	/**
	 * 输出文件
	 */
	public void outPut(byte[] bs, String filePath) {
		FileOutputStream fos = null;
		try {
			fos = new FileOutputStream(new File(filePath));
			fos.write(bs);
			fos.flush();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (fos != null)
				try {
					fos.close();
				} catch (IOException e) {
				}
		}
	}
}
最近下载更多
gan857569302  LV9 2020年7月15日
xsj123456  LV1 2019年10月25日
17600446733  LV21 2019年6月11日
lris_luanling  LV11 2018年11月27日
1324488732  LV27 2018年11月22日
温涛涛  LV8 2018年11月5日
040413  LV3 2018年10月22日
dffdfdaf  LV3 2018年10月17日
chenzhen123456  LV9 2018年9月25日
murphyLu  LV12 2018年8月28日
最近浏览更多
ma406805131  LV15 6月25日
zxf2342  LV2 2023年4月27日
猫和老鼠sa 2022年12月2日
暂无贡献等级
山鬼  LV2 2021年12月8日
a320575517 2021年11月24日
暂无贡献等级
1798672867  LV21 2021年7月4日
David 2021年7月2日
暂无贡献等级
1964341683 2021年6月21日
暂无贡献等级
Sean_admin  LV7 2021年4月28日
1530688385  LV5 2020年10月22日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友