Java 獲取網絡上的文件

Java 獲取網絡上的文件

/**
	 * 獲取網絡上的圖片
	 * @param URLName 地址
	 * @throws Exception
	 */
	public InputStream getUrlImg(String URLName) throws Exception {
		ByteArrayOutputStream os = new ByteArrayOutputStream();
		int HttpResult = 0; //服務器返回的狀態
		URL url = new URL(URLName); //創建URL
		URLConnection urlconn = url.openConnection(); // 試圖連接並取得返回狀態碼urlconn.connect();
		HttpURLConnection httpconn = (HttpURLConnection) urlconn;
		HttpResult = httpconn.getResponseCode();
		System.out.println(HttpResult);
		if (HttpResult != HttpURLConnection.HTTP_OK){  //不等於HTTP_OK說明連接不成功
			System.out.print("連接失敗!");
		}else {
			int filesize = urlconn.getContentLength();  //取數據長度
			System.out.println(filesize); 
			BufferedInputStream bis=new BufferedInputStream(urlconn.getInputStream()); 
			BufferedOutputStream bos=new BufferedOutputStream(os);
			byte[] buffer = new byte[1024]; //創建存放輸入流的緩衝
			int num = -1; //讀入的字節數
			while (true) {
				num = bis.read(buffer); // 讀入到緩衝區
				if (num ==-1){
					bos.flush();
					break; //已經讀完
				}
				bos.flush();
				bos.write(buffer,0,num);
			}
			bos.close();
			bis.close();
	  }
	  ByteArrayInputStream bis = new ByteArrayInputStream(os.toByteArray());
	  return bis;
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章