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