package com.ixysm.util; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; /** * Web资源供给类 * * @author hongcy * @date 2013-6-25 * @time 上午10:29:46 */ public class WebResourceUtils { /** * 获取网络上的文件,下载并保存 * * @param urlString * 网址 * @param file * 被保存到本地文件 * @throws Exception */ public static void saveUrlFile(String urlString, String file) throws Exception { File toFile = new File(file); if (toFile.exists()) { return; } toFile.createNewFile(); FileOutputStream outImgStream = new FileOutputStream(toFile); outImgStream.write(getUrlFileData(urlString)); outImgStream.close(); } /** * 获取链接地址的数据,以byte数组方式返回 * * @param urlString * 链接地址 * @return byte数组 * @throws Exception */ public static byte[] getUrlFileData(String urlString) throws Exception { URL url = new URL(urlString); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); httpConn.connect(); InputStream cin = httpConn.getInputStream(); ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while ((len = cin.read(buffer)) != -1) { outStream.write(buffer, 0, len); } cin.close(); byte[] fileData = outStream.toByteArray(); outStream.close(); return fileData; } /** * 获取链接地址的字符数据 * * @param urlStr * 链接地址 * @param withSeparator * 是否换行标记 * @return 字符串数据 * @throws Exception */ public static String getUrlDetail(String urlStr, boolean withSep) throws Exception { URL url = new URL(urlStr); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); httpConn.connect(); InputStream cin = httpConn.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(cin, "UTF-8")); StringBuffer sb = new StringBuffer(); String rl = null; while ((rl = reader.readLine()) != null) { if (withSep) { sb.append(rl).append(System.getProperty("line.separator")); } else { sb.append(rl); } } return sb.toString(); } }
此工具类可获取网页资源。