欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

網絡文件或字符串獲取類

張軍 6147 0
package zj.io.util;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Serializable;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import zj.common.exception.ServiceException;
import zj.java.util.JavaUtil;

/**
 * 網絡文件或字符串獲取類<br>
 * 
 * @version 1.00 (2011.12.02)
 * @author 張軍 {@link <a target=_blank href="http://www.dlhighland.cn">張軍個人網站</a>&nbsp;&nbsp;&nbsp;&nbsp;<a target=_blank href="http://user.qzone.qq.com/360901061/">張軍QQ空間</a>}
 */
public class NetWorkUtil implements Serializable {
	private static final long serialVersionUID = 1L;
	// private transient static final Logger logger = Logger.getLogger(NetWorkUtil.class);

	/**
	 * 保存網絡文件
	 * 
	 * @param urlAddr
	 *            遠程地址
	 * @param localAddr
	 *            本地地址
	 * @throws Exception
	 */
	public static void writeFileToLocalByURL(String urlAddr, String localAddr) {
		BufferedOutputStream bos = null;
		BufferedInputStream fis = null;
		try {
			// 以流的形式下載文件。
			URL urlObj = new URL(urlAddr);
			URLConnection uc = urlObj.openConnection();
			fis = new BufferedInputStream(uc.getInputStream());
			// 取得目標文件路徑
			if (localAddr == null || localAddr.equals("")) {
				String[] paths = FileUtil.getFileNameExtension(urlAddr);
				if (paths.length > 2) {
					localAddr = paths[1] + paths[2];
				} else {
					File file = new File(urlAddr);
					localAddr = file.getName();
				}

			}
			// byte[] buffer = new byte[fis.available()];
			// fis.read(buffer);
			File fileDesc = new File(localAddr);

			String[] extension = FileUtil.getFileNameExtension(localAddr);
			File extensionFile = new File(extension[0]);
			if (!extensionFile.exists()) {
				extensionFile.mkdirs();
			}
			bos = new BufferedOutputStream(new FileOutputStream(fileDesc));
			int blen = 1024 * 5;
			byte[] b = new byte[blen];
			int len = 0;
			while ((len = fis.read(b, 0, blen)) != -1) {
				bos.write(b, 0, len);
			}
			bos.flush();
			// logger.info("下載【" + urlAddr + "】->【" + localAddr + "】成功");
		} catch (Exception e) {
			throw new ServiceException(e);
		} finally {
			if (bos != null) {
				try {
					bos.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
			if (fis != null) {
				try {
					fis.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}

		// // 根據String形式創建一個URL對象,
		// URL url = new URL(urlAddr);
		// // 實列一個URLconnection對象,用來讀取和寫入此 URL 引用的資源
		// URLConnection con = url.openConnection();
		// // 獲取一個輸入流
		// InputStream is = con.getInputStream();
		// BufferedInputStream bis = new BufferedInputStream(is);
		// // 實列一個輸出對象
		// FileOutputStream fos = new FileOutputStream(fileAddr);
		// BufferedOutputStream bos = new BufferedOutputStream(fos);
		// // 用來接收每次讀取的字節個數
		// int length = -1;
		// // 一個byte[]數組,一次讀取多個字節
		// byte[] buffer = new byte[7092];
		// // 循環判斷,如果讀取的個數b為空了,則is.read()方法返回-1,具體請參考InputStream的read();
		// while ((length = bis.read(buffer, 0, 7092)) != -1) {
		// // 將對象寫入到對應的文件中
		// bos.write(buffer, 0, length);
		// }
		// // 刷新流
		// bos.flush();
		// fos.flush();
		// // 關閉流
		// bos.close();
		// fos.close();
		// bis.close();
		// is.close();
	}

	/**
	 * 獲取網絡字符串 編碼默認GB2312
	 * 
	 * @param url
	 *            遠程地址
	 * @return 遠程地址響應結果
	 */
	public static String getStringByURL(String url) {
		return getStringByURL(url, "GB2312");
	}

	/**
	 * 獲取網絡字符串 編碼默認GB2312
	 * 
	 * @author zhangjun
	 * @param url
	 *            遠程地址
	 * @param encoding
	 *            網頁的編碼集
	 * @return 遠程地址響應結果
	 */
	public static String getStringByURL(String url, String encoding) {
		StringBuffer sb = new StringBuffer();
		// 建立文件寫入流
		// 建立緩沖寫入流
		BufferedReader br = null;
		try {
			// 建立網絡連接
			URL urlObj = new URL(url);
			// 打開網絡連接
			URLConnection uc = urlObj.openConnection();
			// uc.setRequestProperty("User-Agent", "java");
			// 建立文件寫入流
			// 建立緩沖寫入流
			br = new BufferedReader(new InputStreamReader(uc.getInputStream(), encoding));
			String sLine = null;
			sLine = br.readLine();
			sLine = JavaUtil.readFirstLine(sLine);
			if (sLine != null) {
				sb.append(sLine);
				while ((sLine = br.readLine()) != null) {
					// 一邊讀,一邊寫
					// sb.append(sLine + System.getProperty("line.separator"));
					sb.append(sLine);
				}
			}
		} catch (MalformedURLException e) {
			throw new ServiceException("連接網絡失敗", e);
		} catch (IOException e) {
			throw new ServiceException("打開網絡連接失敗", e);
		} finally {
			if (br != null) {
				try {
					br.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return sb.toString();
	}

}



更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人欧美在线观看免费视频 | 27xxoo无遮挡动态视频 | 国产成人久久婷婷精品流白浆 | www.com黄色| 99热这里只有免费国产精品 | 久久亚洲日本不卡一区二区 | 亚洲高清视频一区 | 亚洲综合99 | 成人福利在线免费观看 | 九草视频在线 | 欧美疯狂xxxx乱大交视频 | 成人在线免费av | 天天拍夜夜操 | 一级黄色毛片视频 | 国产精品视频分类 | 亚洲狠狠婷婷综合久久蜜桃 | 手机看片国产免费现在观看 | 精品免费国产一区二区三区四区 | 国产午夜精品一区二区三区 | 成人国产一区二区三区 | 韩漫重考生漫画画免费读漫画下拉式土豪漫 | 欧美精品一区三区 | 综合久久久久 | 国产精品美女久久久久久久久久久 | 完全免费在线视频 | 国产在线欧美精品中文一区 | 亚洲www.| 国产一区高清 | 欧美特黄a级高清免费大片 精品日本三级在线观看视频 | 国产精品久久久久秋霞影视 | 2021国产成人午夜精品 | 免费激情视频在线观看 | 男女真实无遮挡xx00动态图120秒 | 日本老妇乱子伦中文视频 | 秋霞理论在线视频 | 中国女人内谢69xxxx天美 | 91精品国产色综合久久 | 九九热视频免费 | 最新亚洲国产 | 亚洲视频不卡 | 色香蕉视频 |