| 
 
TA的每日心情|  | 开心 2021-3-12 23:18
 | 
|---|
 签到天数: 2 天 [LV.1]初来乍到 | 
 
| 
用各种网络下载工具下文件的时候,大多数下载软件支持添加批量下载任务的功能,闲暇之余coding了一个简单的程序,实现批量下载. 分了三个类
 RegFiles.java主要实现通配符文件地址的构造,提供了一些辅助方法,方便的添加需要下载的URL
 URLFileSaver.java 实现将URL指向的文件保存到本地的功能
 FileDownLoader.java 创建多个线程下载
 
 大家看code,欢迎提出重构意见
 
 
 package
 cn.heapstack.study;
 
 
 import
 java.util.ArrayList;
 
 import
 java.util.List;
 
 
  /** */
 /**
 * <p>
 * Title:通配符下载地址构建类
 * </p>
 * <p>
 * Description: 1.0版本支持通配符(*)匹配的URL字符串,该匹配配合通配符长度一起使用<P>
 * Example:如果要下载的URL格式为http://www.abc.com/abc(*).zip;
 * (*)代表要匹配的数字,
 * (*)支持10的通配符长度次方个数字,不足的长度位前面补0
 *
 * 当通配符长度为1,匹配的下标可以是0-9,这时要下载的URL格式就是 http://www.abc.com/abc0.zip
 * http://www.abc.com/abc1.zip  http://www.abc.com/abc8.zip
 * http://www.abc.com/abc9.zip
 *
 * 当通配符长度为3,匹配的下标可以是000-999,这时要下载的URL格式就是 http://www.abc.com/abc000.zip
 * http://www.abc.com/abc001.zip  http://www.abc.com/abc099.zip
 * http://www.abc.com/abc999.zip
 * </p>
 * <p>
 * Copyright: Copyright (c) www.heapstack.cn 2006
 * </p>
 *
 * @author jht
 * @version 1.0
 */
 
 
  public
 
 class
 RegFiles
 
  {
 private List<String> fileList = new ArrayList<String>();
 
 private String regURL;
 
 private int length;
 
 private int from;
 
 private int to;
 
 
  /** *//** *
 * @param regURL 带通配符(*)的下载文件地址
 * @param length 通配符长度
 * @param from 起始的数字
 * @param to 结束的数字
 * @throws Exception
 */
 
  public RegFiles(String regURL, int length, int from, int to) throws Exception  { this.regURL = regURL;
 this.length = length;
 if(from > to )
 throw new Exception("Invalied parameter,from should be less than to");
 this.from = from;
 this.to = to;
 
 buildDownLoadFileList();
 
 }
 
 
  public void buildDownLoadFileList()  { fileList.clear();
 //regURL like  http://www.abc.com/abc(*).zip
 //the dest URL like http://www.abc.com/abc001.zip
 int index = regURL.indexOf("(*)");
 //把(*)替换成相应的需要匹配的URL字符串
 StringBuilder sb = new StringBuilder(regURL);
 sb = sb.delete(index, index + 3);
 for (int j = from; j <= to; j++)
 
    { StringBuilder tmpsb = new StringBuilder(sb);
 String strj = String.valueOf(j);
 
 int strlen = strj.length();
 int zerocount = length - strlen;
 
 //add 0 to build the url
 for (int k = 0; k < zerocount; k++)
 
    { StringBuilder jsb = new StringBuilder(strj);
 strj = jsb.insert(0,"0").toString();
 }
 fileList.add(tmpsb.insert(index,strj).toString());
 System.out.println(tmpsb.toString());
 }
 }
 
 
  public List getFileList()  { return fileList;
 }
 
 
  /** *//** * 手动设置文件url列表
 * @param fileList
 */
 
  public void setFileList(List<String> fileList)  { this.fileList = fileList;
 }
 
  /** *//** * 在原有基础上添加文件url列表
 * @param appendList
 */
 
  public void appendFileList(List<String> appendList)  { this.fileList.addAll(appendList);
 }
 
 
  /** *//** * 添加一个要下载的文件url地址
 * @param urlfile
 */
 
  public void appedURLFile(String urlfile)  { this.fileList.add(urlfile);
 }
 
 
  public int getFrom()  { return from;
 }
 
 
  public void setFrom(int from)  { this.from = from;
 }
 
 
  public int getLength()  { return length;
 }
 
 
  public void setLength(int length)  { this.length = length;
 }
 
 
  public String getRegURL()  { return regURL;
 }
 
 
  public void setRegURL(String regURL)  { this.regURL = regURL;
 }
 
 
  public int getTo()  { return to;
 }
 
 
  public void setTo(int to)  { this.to = to;
 }
 }
 
 
 
 
 package
 cn.heapstack.study;
 
 import
 java.io.BufferedInputStream;
 
 import
 java.io.FileOutputStream;
 
 import
 java.io.IOException;
 
 import
 java.net.HttpURLConnection;
 
 import
 java.net.URL;
 
 
  public
 
 class
 URLFileSaver
 implements
 Runnable
 
  {
 
 private static final int BUFFER_SIZE = 4096;
 private String destUrl;
 private String fileName;
 
 public URLFileSaver(String destUrl)
 
    { this.destUrl = destUrl;
 int i = destUrl.lastIndexOf("/");
 this.fileName = destUrl.substring(i+1);
 }
 
 
  public void run()  { 
  try  { saveToFile(destUrl,fileName);
 
 System.out.println("文件:"+destUrl+"下载完成,保存为"+fileName);
 
  } catch (IOException e)  { System.out.println("文件下载失败,信息:"+e.getMessage());
 }
 }
 
 
  /** *//** * 将网络文件保存为本地文件的方法
 * @param destUrl
 * @param fileName
 * @throws IOException
 */
 
  public void saveToFile(String destUrl, String fileName) throws IOException  { FileOutputStream fos = null;
 BufferedInputStream bis = null;
 HttpURLConnection httpconn = null;
 URL url = null;
 byte[] buf = new byte[BUFFER_SIZE];
 int size = 0;
 
 // 建立链接
 url = new URL(destUrl);
 httpconn = (HttpURLConnection) url.openConnection();
 // 连接指定的资源
 httpconn.connect();
 // 获取网络输入流
 bis = new BufferedInputStream(httpconn.getInputStream());
 // 建立文件
 fos = new FileOutputStream(fileName);
 
 System.out.println("正在获取链接[" + destUrl + "]的内容
 将其保存为文件[" + fileName
 + "]");
 
 // 保存文件
 while ((size = bis.read(buf)) != -1)
 fos.write(buf, 0, size);
 
 fos.close();
 bis.close();
 httpconn.disconnect();
 }
 }
 
 
 
 
 
 package
 cn.heapstack.study;
 
 
 import
 java.net.Authenticator;
 
 import
 java.net.PasswordAuthentication;
 
 import
 java.util.List;
 
 
  public
 
 class
 FileDownLoader
 
  {
 
 
  public static void saveURLFileList(List<String> urlFileList)  { 
  for (String aURLfile : urlFileList)  { Thread th = new Thread(new URLFileSaver(aURLfile));
 th.start();
 }
 
  try  { Thread.currentThread().join();
 
 
  } catch (InterruptedException e)  { e.printStackTrace();
 }
 }
 
 
  /** *//** * 设置代理服务器
 *
 * @param proxy
 * @param proxyPort
 */
 
  public static void setProxyServer(String proxy, String proxyPort)  { System.getProperties().put("proxySet", "true");
 System.getProperties().put("proxyHost", proxy);
 System.getProperties().put("proxyPort", proxyPort);
 }
 
 
  /** *//** * 设置认证用户名与密码
 *
 * @param uid
 * @param pwd
 */
 
  public static void setAuthenticator(final String uid, final String pwd)  { 
  Authenticator.setDefault(new Authenticator()  { 
  protected PasswordAuthentication getPasswordAuthentication()  { return new PasswordAuthentication(uid, new String(pwd)
 .toCharArray());
 }
 });
 }
 
 }
 
 
 
 
 main函数测试代码
 
 
 
  try
 
 
  {
 RegFiles rf = new RegFiles("http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty(*).jpg",
 2,0,50);
 List<String> urlFileList = rf.getFileList();
 FileDownLoader.saveURLFileList(urlFileList);
 
 
  } 
 catch
 (Exception e)
 
  {
 System.out.println(e.getMessage());
 }
 
 
 运行效果:
 
 
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty00.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty01.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty02.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty03.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty04.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty05.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty06.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty07.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty08.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty09.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty10.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty11.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty12.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty13.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty14.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty15.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty16.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty17.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty18.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty19.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty20.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty21.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty22.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty23.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty24.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty25.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty26.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty27.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty28.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty29.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty30.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty31.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty32.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty33.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty34.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty35.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty36.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty37.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty38.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty39.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty40.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty41.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty42.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty43.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty44.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty45.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty46.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty47.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty48.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty49.jpg
 http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty50.jpg
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty14.jpg]的内容
 将其保存为文件[933421_TN_061229beauty14.jpg]
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty00.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty33.jpg
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty23.jpg]的内容
 将其保存为文件[933421_TN_061229beauty23.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty19.jpg]的内容
 将其保存为文件[933421_TN_061229beauty19.jpg]
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty35.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty36.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty37.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty38.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty39.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty40.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty41.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty42.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty49.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty45.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty43.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty44.jpg
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty25.jpg]的内容
 将其保存为文件[933421_TN_061229beauty25.jpg]
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty46.jpg
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty15.jpg]的内容
 将其保存为文件[933421_TN_061229beauty15.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty24.jpg]的内容
 将其保存为文件[933421_TN_061229beauty24.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty26.jpg]的内容
 将其保存为文件[933421_TN_061229beauty26.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty27.jpg]的内容
 将其保存为文件[933421_TN_061229beauty27.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty29.jpg]的内容
 将其保存为文件[933421_TN_061229beauty29.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty02.jpg]的内容
 将其保存为文件[933421_TN_061229beauty02.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty03.jpg]的内容
 将其保存为文件[933421_TN_061229beauty03.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty11.jpg]的内容
 将其保存为文件[933421_TN_061229beauty11.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty17.jpg]的内容
 将其保存为文件[933421_TN_061229beauty17.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty28.jpg]的内容
 将其保存为文件[933421_TN_061229beauty28.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty16.jpg]的内容
 将其保存为文件[933421_TN_061229beauty16.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty04.jpg]的内容
 将其保存为文件[933421_TN_061229beauty04.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty09.jpg]的内容
 将其保存为文件[933421_TN_061229beauty09.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty10.jpg]的内容
 将其保存为文件[933421_TN_061229beauty10.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty18.jpg]的内容
 将其保存为文件[933421_TN_061229beauty18.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty01.jpg]的内容
 将其保存为文件[933421_TN_061229beauty01.jpg]
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty28.jpg下载完成,保存为933421_TN_061229beauty28.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty16.jpg下载完成,保存为933421_TN_061229beauty16.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty47.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty48.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty31.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty32.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty50.jpg
 文件下载失败,信息:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty34.jpg
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty08.jpg]的内容
 将其保存为文件[933421_TN_061229beauty08.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty21.jpg]的内容
 将其保存为文件[933421_TN_061229beauty21.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty05.jpg]的内容
 将其保存为文件[933421_TN_061229beauty05.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty06.jpg]的内容
 将其保存为文件[933421_TN_061229beauty06.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty12.jpg]的内容
 将其保存为文件[933421_TN_061229beauty12.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty20.jpg]的内容
 将其保存为文件[933421_TN_061229beauty20.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty30.jpg]的内容
 将其保存为文件[933421_TN_061229beauty30.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty07.jpg]的内容
 将其保存为文件[933421_TN_061229beauty07.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty13.jpg]的内容
 将其保存为文件[933421_TN_061229beauty13.jpg]
 正在获取链接[http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty22.jpg]的内容
 将其保存为文件[933421_TN_061229beauty22.jpg]
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty09.jpg下载完成,保存为933421_TN_061229beauty09.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty01.jpg下载完成,保存为933421_TN_061229beauty01.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty18.jpg下载完成,保存为933421_TN_061229beauty18.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty10.jpg下载完成,保存为933421_TN_061229beauty10.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty26.jpg下载完成,保存为933421_TN_061229beauty26.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty29.jpg下载完成,保存为933421_TN_061229beauty29.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty19.jpg下载完成,保存为933421_TN_061229beauty19.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty06.jpg下载完成,保存为933421_TN_061229beauty06.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty08.jpg下载完成,保存为933421_TN_061229beauty08.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty12.jpg下载完成,保存为933421_TN_061229beauty12.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty11.jpg下载完成,保存为933421_TN_061229beauty11.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty07.jpg下载完成,保存为933421_TN_061229beauty07.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty21.jpg下载完成,保存为933421_TN_061229beauty21.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty17.jpg下载完成,保存为933421_TN_061229beauty17.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty04.jpg下载完成,保存为933421_TN_061229beauty04.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty20.jpg下载完成,保存为933421_TN_061229beauty20.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty24.jpg下载完成,保存为933421_TN_061229beauty24.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty25.jpg下载完成,保存为933421_TN_061229beauty25.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty15.jpg下载完成,保存为933421_TN_061229beauty15.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty13.jpg下载完成,保存为933421_TN_061229beauty13.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty02.jpg下载完成,保存为933421_TN_061229beauty02.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty23.jpg下载完成,保存为933421_TN_061229beauty23.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty30.jpg下载完成,保存为933421_TN_061229beauty30.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty03.jpg下载完成,保存为933421_TN_061229beauty03.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty05.jpg下载完成,保存为933421_TN_061229beauty05.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty27.jpg下载完成,保存为933421_TN_061229beauty27.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty14.jpg下载完成,保存为933421_TN_061229beauty14.jpg
 文件:http://img2.pconline.com.cn/pconline/0612/28/933421_TN_061229beauty22.jpg下载完成,保存为933421_TN_061229beauty22.jpg
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 源码下载:http://file.javaxxz.com/2014/11/3/235932750.zip
 | 
 |