现在的位置: 首页 > 综合 > 正文

Java 获取网络上的文件

2013年08月01日 ⁄ 综合 ⁄ 共 985字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.