<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-46  評論-64  文章-2  trackbacks-0
    用各種網絡下載工具下文件的時候,大多數下載軟件支持添加批量下載任務的功能,閑暇之余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?+?"]的內容\n將其保存為文件["?+?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
    posted on 2006-12-31 15:58 jht 閱讀(1179) 評論(0)  編輯  收藏 所屬分類: J2SE
    主站蜘蛛池模板: 亚洲熟妇AV日韩熟妇在线| 亚洲爽爽一区二区三区| 久久亚洲高清观看| 亚洲日韩精品无码AV海量| 6080午夜一级毛片免费看| 亚洲AV一宅男色影视| 成人久久久观看免费毛片| 日本人的色道www免费一区| 久久精品国产亚洲AV忘忧草18| 最新久久免费视频| 亚洲熟妇av一区二区三区| 免费精品视频在线| 国产美女做a免费视频软件| 亚洲精品无码中文久久字幕| 国产桃色在线成免费视频| 亚洲人和日本人jizz| 无码国产精品一区二区免费式影视| 亚洲精品中文字幕麻豆| 免费在线观看视频网站| 亚洲av无码久久忘忧草| 四虎www成人影院免费观看| 亚洲国产精品成人综合色在线| 国产精品免费综合一区视频| 亚洲精品无码永久在线观看男男 | 日本不卡免费新一二三区| 国产精品亚洲а∨无码播放麻豆| 日韩精品电影一区亚洲| 久久精品免费大片国产大片 | 亚洲无圣光一区二区| 大香人蕉免费视频75| 中文字幕不卡免费高清视频| 亚洲va国产va天堂va久久| 免费A级毛片无码免费视| 国产成人亚洲精品91专区高清 | 亚洲美女人黄网成人女| 国产一级淫片视频免费看| 久久99精品国产免费观看| 亚洲色无码专区一区| 亚洲成AV人片在线播放无码| 无码一区二区三区AV免费| 免费无码又爽又刺激网站直播|