1. 程式人生 > >url讀取網路資源並生成本地檔案

url讀取網路資源並生成本地檔案

以前寫過url讀取網路資源的,但是都是以字串顯示,這次以檔案方式展示一下,只需要傳入一個網路圖片測試一下就行

/**
	 * 讀取網路資源並寫入本地檔案
	 * @param urlString 遠端檔名
	 * @return
	 */
	public File getFileByUrl(String urlString){
		String fileName = urlString.substring(urlString.lastIndexOf("/"));
		File file = new File(fileName);
		try {
			file.createNewFile();
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		URL url = null;//遠端地址
		InputStream in = null;//輸入流
		OutputStream out = null;//輸出流
		try {
			url = new URL(urlString);
			in = url.openStream();
			out = new FileOutputStream(file);//檔案輸出流  用於寫檔案
			byte[] bs = new byte[1024];//接收讀入的資料
			int bCount = 0;
			//讀取遠端檔案流並寫入本地檔案
			while((bCount = in.read(bs)) != -1) {
				out.write(bs, 0, bCount);
			}
			out.flush();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			//關閉流
			try {
				if(in != null)
					in.close();
				if(out != null)
					out.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		
		return file;
	}