2016.08.19-java-关于网页图片的下载完整代码
2016-08-19 20:08
302 查看
package com.shi.onclass; import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class TestUrl_copy { String reg = "(http|https)://([\\w-/]*\\.)*[\\w-/]*\\.(jpg|png|gif)"; public List<String> parseUrl(String line){ List<String> urls = new ArrayList<>(); Pattern pattern = Pattern.compile(reg); Matcher m = pattern.matcher(line); if(m.find()){ urls.add(m.group()); } return urls; } public List<String> parseFile(URL url){ BufferedReader br = null; List<String> urls = null; try { br = new BufferedReader(new InputStreamReader(url.openStream())); urls = new ArrayList<>(); String n = null; while((n=br.readLine())!=null){ urls.addAll(parseUrl(n)); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return urls; } public void download(String line){ InputStream is = null; FileOutputStream fos = null; URL url; try { url = new URL(line); is = url.openStream(); fos = new FileOutputStream("D:\\a\\"+System.currentTimeMillis()+".jpg"); byte buf[] = new byte[1024]; int n =0; while((n=is.read(buf))>0){ fos.write(buf, 0, n); } System.out.println("done"); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { is.close(); fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void main(String[] args) { TestUrl_copy tc = new TestUrl_copy(); List<String> urls = null; String url = "https://zhidao.baidu.com/shop/lottery"; try { urls = tc.parseFile(new URL(url)); for(String str:urls){ tc.download(str); } } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关文章推荐
- java代码实现从网上直接下载图片或者网页
- Java下载网页代码 & 判断网页是否被百度收录
- java下载网页内容和网络图片
- 关于java抓取网页数据与图片
- java实现文件上传下载和图片压缩代码示例
- web版用户通过浏览器下载图片java后台代码
- Asp.Net完整实现网页保存为图片代码
- java图片下载代码
- 用java下载一个网页图片
- java多线程网页下载代码
- java 下载网页,图片
- java多线程网页下载代码
- java图片下载代码
- JAVA 关于图片上传的代码
- java 实现根据url,将url对应的网页存为一张完整的图片,不是截图,也就是图片是整个网页的内容
- java获取http:图片下载代码——android基础编
- Java下载网页HTML代码
- 网页常用的30种banner图片切换代码下载
- Java中实现FTP上传下载文件的功能,完整代码
- java下载网页链接上的图片