青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

tbwshc

tbw

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  95 Posts :: 8 Stories :: 3 Comments :: 0 Trackbacks

常用鏈接

留言簿(4)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

package downloadMap;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Enumeration;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;
import javax.swing.JOptionPane;
import javax.swing.ProgressMonitorInputStream;
import TIp.Jframet;
import doFile.ZipToFile;
import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
public class FtpZipOption {
/**
  *
  * 從ftp服務器下載zip文件
  *
  * @param
  *
  *@throws Exception
  **/
public static void downLoadZipFile(String wantFileName ) throws Exception {
/*new Thread(){
  public void run(){
   Jframet jf = new Jframet("正在鏈接ftp,qing'shao'h", "確定");
   jf.jb.setVisible(false);
  }
}.start();*/
  String[] localFileNameArray = getLocalFileNameArray("c:\\BaseMap");// 得到所有已經下載的tb文件名
  File downFile=new File("c:\\BaseMap");
  if(!downFile.exists()) downFile.mkdir();
  
  if (ifToDownLoadFile(wantFileName, localFileNameArray)) {// 判斷是否需要下載
   String str; // 輸出信息字符串
   /**
    *
    * 和服務器建立連接
    */
   FtpClient ftp = new FtpClient("172.18.2.66"); // 根據服務器ip建立連接
   
   //JOptionPane.showMessageDialog(null, "");
   str = ftp.getResponseString(); // 獲得響應信息
   System.out.println("連接服務器:" + str);
   
   /**
    *
    * 登陸到Ftp服務器
    */
   ftp.login("admin", "1"); // 根據用戶名和密碼登錄服務器
   str = ftp.getResponseString();
   System.out.println("登錄:" + str);
   
   
   /**
    *
    * 打開并定位到服務器目錄
    */
   ftp.cd("mapdata2"); // 打開服務器上的文件目錄
   str = ftp.getResponseString();
   System.out.println("打開服務器目錄:" + str);
   ftp.binary();// 轉化為二進制的文件
   TelnetInputStream ftpIn = ftp.get(wantFileName + ".zip");// 找到要讀取的文件
   
   /*Jframet jf=new Jframet("正在下載地圖,請稍候...","確定");
   jf.jb.setVisible(false);*/
   long fileLength=FtpZipOption.getFileSize("wantFileName.zip");
   System.out.println(fileLength);
   byte[] buf = new byte[204800];
   int bufsize = 0;
   File f=new File("c:\\BaseMap");
   if(!f.exists()) f.mkdirs();
   String toLocalPath = "c:\\BaseMap\\" + wantFileName + ".zip";
   /*File f=new File(toLocalPath);
   f.mkdirs();*/
   FileOutputStream ftpOut = new FileOutputStream(toLocalPath);
   int readLine=0;
   while ((bufsize = ftpIn.read(buf, 0, buf.length)) != -1) {
    //System.out.println(bufsize);
    ftpOut.write(buf, 0, bufsize);
    readLine=+bufsize;
   
   }
   System.out.println(readLine);
   ftpOut.close();
   ftpIn.close();
   ZipToFile ziptofile=new ZipToFile();
   
         String  PostFilePath = "c:\\BaseMap";   
          ziptofile.zipToFile(toLocalPath, PostFilePath);
  // JOptionPane.showMessageDialog(null, "下載" + wantFileName + ".zip完成!");
   System.out.println("下載" + wantFileName + ".zip完成!");
  /* jf.jl.setText("下載地圖成功");
   jf.jb.setVisible(true);*/
  } else {
   
  }
}
public static long getFileSize(String filename) throws IOException {
  String str; // 輸出信息字符串
  /**
   *
   * 和服務器建立連接
   */
  FtpClient ftp = new FtpClient("172.18.2.66"); // 根據服務器ip建立連接
  str = ftp.getResponseString(); // 獲得響應信息
  System.out.println("連接服務器:" + str);
  /**
   *
   * 登陸到Ftp服務器
   */
  ftp.login("admin", "1"); // 根據用戶名和密碼登錄服務器
  str = ftp.getResponseString();
  System.out.println("登錄:" + str);
  /**
   *
   * 打開并定位到服務器目錄
   */
  ftp.cd("mapdata2"); // 打開服務器上的文件目錄
  str = ftp.getResponseString();
  System.out.println("打開服務器目錄:" + str);
  ftp.binary();// 轉化為二進制的文件
  long fileSize = -1;
  String s = "SIZE " + filename + "\r\n";
  ftp.sendServer(s);
  try {
  int status = ftp.readServerResponse();
  if (status == 213) {
  String msg = ftp.getResponseString();
  fileSize = Long.parseLong(msg.substring(3).trim());
  }
  } catch (IOException e) {
  e.printStackTrace();
  }
  return fileSize;
  }
// 上傳文件;并返回上傳文件的信息
/*private static String upLoadZipToServer(String filename) throws Exception {
  String str; // 輸出信息字符串
  String timeStr = getNowTime();// 獲得當前時間
  String recordStr = "上傳時間:" + timeStr + "\r\n";// 信息記錄字符串
  *//**
   *
   * 和服務器建立連接
   *//*
  FtpClient ftp = new FtpClient("192.168.39.189"); // 根據服務器ip建立連接
  str = ftp.getResponseString(); // 獲得響應信息
  System.out.println(str);
  recordStr += "連接服務器:" + str + "\r\n";
  *//**
   *
   * 登陸到Ftp服務器
   *//*
  ftp.login("test", "test"); // 根據用戶名和密碼登錄服務器
  str = ftp.getResponseString();
  System.out.println(str);
  recordStr += "登錄:" + str + "\r\n";
  *//**
   *
   * 打開并定位到test目錄
   *//*
  ftp.cd("uptest"); // 打開服務器上的test文件夾
  ftp.binary();// 轉化為二進制的文件
  str = ftp.getResponseString();
  System.out.println(str);
  FileInputStream is = null;
  TelnetOutputStream os = null;
  try {
   // "upftpfile"用ftp上傳后的新文件名
   os = ftp.put("uptest.zip");
   File file_in = new java.io.File(filename);
   if (file_in.length() == 0) {
    return "上傳文件為空!";
   }
   is = new FileInputStream(file_in);
   byte[] bytes = new byte[1024];
   int c;
   while ((c = is.read(bytes)) != -1) {
    os.write(bytes, 0, c);
   }
  } finally {
   if (is != null) {
    is.close();
   }
   if (os != null) {
    os.close();
   }
  }
  return "上傳文件成功!";
}*/
/**
  *
  * zip壓縮功能,壓縮sourceFile(文件夾目錄)下所有文件,包括子目錄
  *
  * @param sourceFile
  *            ,待壓縮目錄; toFolerName,壓縮完畢生成的目錄
  *
  * @throws Exception
  */
/*public static void fileToZip(String sourceFile, String toFolerName)
   throws Exception {
  List fileList = getSubFiles(new File(sourceFile)); // 得到待壓縮的文件夾的所有內容
  ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(
  toFolerName));
  ZipEntry ze = null;
  byte[] buf = new byte[1024];
  int readLen = 0;
  for (int i = 0; i < fileList.size(); i++) { // 遍歷要壓縮的所有子文件
   File file = (File) fileList.get(i);
   System.out.println("壓縮到的文件名:" + file.getName());
   ze = new ZipEntry(getAbsFileName(sourceFile, file));
   ze.setSize(file.length());
   ze.setTime(file.lastModified());
   zos.putNextEntry(ze);
   InputStream is = new BufferedInputStream(new FileInputStream(file));
   while ((readLen = is.read(buf, 0, 1024)) != -1) {
    zos.write(buf, 0, readLen);
   }
   is.close();
  }
  zos.close();
  System.out.println("壓縮完成!");
}
*//**
  *
  * 解壓zip文件
  *
  * @param sourceFile
  *            ,待解壓的zip文件; toFolder,解壓后的存放路徑
  *
  * @throws Exception
  **//*
public static void zipToFile(String sourceFile, String toFolder)
   throws Exception {
  String toDisk = toFolder;// 接收解壓后的存放路徑
  ZipFile zfile = new ZipFile(sourceFile);// 連接待解壓文件
  System.out.println("要解壓的文件是:" + zfile.getName());
  Enumeration zList = zfile.entries();// 得到zip包里的所有元素
  ZipEntry ze = null;
  byte[] buf = new byte[1024];
  while (zList.hasMoreElements()) {
   ze = (ZipEntry) zList.nextElement();
   if (ze.isDirectory()) {
    System.out.println("打開zip文件里的文件夾:" + ze.getName()
    + " skipped...");
    continue;
   }
   System.out.println("zip包里的文件: " + ze.getName() + "\t" + "大小為:"
   + ze.getSize() + "KB");
   // 以ZipEntry為參數得到一個InputStream,并寫到OutputStream中
   OutputStream outputStream = new BufferedOutputStream(
   new FileOutputStream(getRealFileName(toDisk, ze.getName())));
   InputStream inputStream = new BufferedInputStream(zfile
   .getInputStream(ze));
   int readLen = 0;
   while ((readLen = inputStream.read(buf, 0, 1024)) != -1) {
    outputStream.write(buf, 0, readLen);
   }
   inputStream.close();
   outputStream.close();
   System.out.println("已經解壓出:" + ze.getName());
  }
  zfile.close();
}
*//**
  *
  * 給定根目錄,返回另一個文件名的相對路徑,用于zip文件中的路徑.
  *
  * @param baseDir
  *            java.lang.String 根目錄
  *
  * @param realFileName
  *            java.io.File 實際的文件名
  *
  * @return 相對文件名
  *//*
private static String getAbsFileName(String baseDir, File realFileName) {
  File real = realFileName;
  File base = new File(baseDir);
  String ret = real.getName();
  while (true) {
   real = real.getParentFile();
   if (real == null)
    break;
   if (real.equals(base))
    break;
   else
    ret = real.getName() + "/" + ret;
  }
  return ret;
}
*//**
  *
  * 取得指定目錄下的所有文件列表,包括子目錄.
  *
  * @param baseDir
  *            File 指定的目錄
  *
  * @return 包含java.io.File的List
  *//*
private static List<File> getSubFiles(File baseDir) {
  List<File> ret = new ArrayList<File>();
  File[] tmp = baseDir.listFiles();
  for (int i = 0; i < tmp.length; i++) {
   if (tmp.isFile())
    ret.add(tmp);
   if (tmp.isDirectory())
    ret.addAll(getSubFiles(tmp));
  }
  return ret;
}
*//**
  *
  * 給定根目錄,返回一個相對路徑所對應的實際文件名.
  *
  * @param zippath
  *            指定根目錄
  *
  * @param absFileName
  *            相對路徑名,來自于ZipEntry中的name
  *
  * @return java.io.File 實際的文件
  *//*
private static File getRealFileName(String zippath, String absFileName) {
  String[] dirs = absFileName.split("/", absFileName.length());
  File ret = new File(zippath);// 創建文件對象
  if (dirs.length > 1) {
   for (int i = 0; i < dirs.length - 1; i++) {
    ret = new File(ret, dirs);
   }
  }
  if (!ret.exists()) {// 檢測文件是否存在
   ret.mkdirs();// 創建此抽象路徑名指定的目錄
  }
  ret = new File(ret, dirs[dirs.length - 1]);// 根據 ret 抽象路徑名和 child
             // 路徑名字符串創建一個新 File 實例
  return ret;
}
*/
/**
  *
  * 取得ftp服務器上某個目錄下的所有文件名
  *
  * @param ftp
  *            , FtpClient類實例; folderName,服務器的文件夾名
  *
  * @throws Exception
  *
  * @return list 某目錄下文件名列表
  **/
private static List getServerFileNameList(FtpClient ftp, String folderName)
   throws Exception {
  BufferedReader dr = new BufferedReader(new InputStreamReader(ftp
    .nameList(folderName)));
  List<String> list = new ArrayList<String>();
  String s;
  while ((s = dr.readLine()) != null) {
   list.add(s);
  }
  return list;
}
/**
  *
  * 得到已經下載的目錄下的所有文件名的數組
  *
  * @param localPath
  *            本地的下載文件保存路徑
  *
  * @return 該路徑下所有tb文件名
  *
  * **/
private static String[] getLocalFileNameArray(String localPath) {
  File diskFile = new File(localPath);
  if (diskFile != null) {
   String[] fileNameList = diskFile.list();
   return fileNameList;
  } else {
   return null;
  }
}
/**
  *
  *獲得當前系統時間
  */
/*public static String getNowTime() {
  String timeStr;
  DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
  Date currentTime = new Date(System.currentTimeMillis());
  timeStr = format.format(currentTime);
  return timeStr;
}
public static String getWantFileName() throws Exception {
  *//** 得到當前的系統精確時間 **//*
  Date currentTime = new Date(System.currentTimeMillis());
  *//** 接下來得到系統當前的年月日 **//*
  DateFormat df1 = new SimpleDateFormat("yyyyMMdd");
  Date todayDate = new Date(System.currentTimeMillis());
  String todayStr = df1.format(todayDate);// 得到當前的年月日
  *//** 接下來得到四個比較時間的String類型;分別在00點,06點,12點和18點 **//*
  String compareTimeStr1 = todayStr + "00";
  String compareTimeStr2 = todayStr + "06";
  String compareTimeStr3 = todayStr + "12";
  String compareTimeStr4 = todayStr + "18";
  *//** 接下來得到四個比較時間的date類型 **//*
  DateFormat df2 = new SimpleDateFormat("yyyyMMddHH");
  Date compareTime1 = df2.parse(compareTimeStr1);
  Date compareTime2 = df2.parse(compareTimeStr2);
  Date compareTime3 = df2.parse(compareTimeStr3);
  Date compareTime4 = df2.parse(compareTimeStr4);
  *//** 接下來由當前系統時間和四個參照時間進行比較,找出該下載的文件名 **//*
  if (currentTime.after(compareTime1) && currentTime.before(compareTime2)) {
   // 此時應該下載00點的文件,文件名為:compareTimeStr1
   System.out.println("此時要下載的文件名為:" + compareTimeStr1 + ".zip");
   return compareTimeStr1;
  } else if (currentTime.after(compareTime2)
    && currentTime.before(compareTime3)) {
   // 此時應該下載06點的文件,文件名為:compareTimeStr2
   System.out.println("此時要下載的文件名為:" + compareTimeStr2 + ".zip");
   return compareTimeStr2;
  } else if (currentTime.after(compareTime3)
    && currentTime.before(compareTime4)) {
   // 此時應該下載12點的文件,文件名為:compareTimeStr3
   System.out.println("此時要下載的文件名為:" + compareTimeStr3 + ".zip");
   return compareTimeStr3;
  } else if (currentTime.after(compareTime4)) {
   // 此時應該下載18點的文件,文件名為:compareTimeStr4
   System.out.println("此時要下載的文件名為:" + compareTimeStr4 + ".zip");
   return compareTimeStr4;
  } else {
   // nothing to do
   return null;
  }
}
*/
/**
  *
  * 判斷此時是否需要下載文件
  *
  * @param wantFileName
  *            ,此時該下載的文件名; localFileNameArray ,本地已經有的文件名
  *
  * @return ture--需要下載; false--本地已經有了,不需要下載
  *
  * **/
public static boolean ifToDownLoadFile(String wantFileName,
   String[] localFileNameArray) {
  if (wantFileName == null && localFileNameArray == null) {// 當想要下載的文件名獲得失敗
   return false;
  } else if (wantFileName == null && localFileNameArray != null) {// 當想要下載的文件名獲得失敗
   return false;
  } else if (wantFileName != null && localFileNameArray == null) {// 當本地沒有已下載的文件
   return true;
  } else if (wantFileName != null && localFileNameArray != null) {// 當要下載的文件在本地還沒有
   if (localFileNameArray.length > 0) {
    for (int i = 0; i < localFileNameArray.length; i++) {
     if (localFileNameArray.equals(wantFileName + ".zip")) {
      return false;
     }
    }
    return true;
   } else {
    return true;
   }
  } else {
   return false;
  }
}
public static void main(String args[]) {
  try {
   long aa=FtpZipOption.getFileSize("2.zip");
   System.out.println(aa);
   FtpZipOption.downLoadZipFile("2");
   
  } catch (Exception e) {
   e.printStackTrace();
  }
}
}

這個是我從網上找的,可是下載2個G的壓縮包打不開,幾百兆的可以!求解
posted on 2012-06-13 15:01 tbwshc 閱讀(2216) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美综合第一页| 亚洲日本视频| 91久久嫩草影院一区二区| 一区免费观看| 国产精品久久久久一区二区三区 | 性欧美video另类hd性玩具| 亚洲国产欧美不卡在线观看| 性色av一区二区三区| 99视频一区| 一区二区免费在线播放| 1000部国产精品成人观看| 国产麻豆日韩| 国产在线精品自拍| 国产在线乱码一区二区三区| 国产精品丝袜白浆摸在线| 国产精品国产三级国产aⅴ9色 | 亚洲一区二区三区精品视频| 亚洲经典三级| 中文亚洲视频在线| 欧美亚洲日本一区| 久久久久久久999精品视频| 久久精品国产成人| 亚洲人久久久| 亚洲一级在线观看| 久久这里只精品最新地址| 免费亚洲一区| 亚洲一区三区视频在线观看| 性欧美8khd高清极品| 久久久久国产精品www| 久久综合色88| av成人毛片| 欧美中文字幕在线播放| 欧美电影免费| 亚洲大片在线| 久久精品一区二区三区四区 | 国产麻豆视频精品| 在线观看亚洲精品| 午夜激情亚洲| 亚洲成色www8888| 性欧美xxxx大乳国产app| 欧美激情一区在线| 亚洲国产毛片完整版 | 性久久久久久久| 亚洲高清视频一区二区| 久久精品夜色噜噜亚洲aⅴ| 欧美精品综合| 亚洲精品久久久久| 久久久亚洲精品一区二区三区| 欧美在线综合| 午夜精品久久久久影视| 国产伦精品一区| 久久久www成人免费无遮挡大片| 99视频热这里只有精品免费| 猫咪成人在线观看| 一本大道av伊人久久综合| 久久人人爽人人爽| 久久精品视频在线| 老牛嫩草一区二区三区日本| 麻豆精品在线播放| 一区二区亚洲精品国产| 免费欧美在线视频| 欧美精品久久一区| 亚洲欧美成aⅴ人在线观看| 亚洲男女自偷自拍图片另类| 国产精品白丝jk黑袜喷水| 欧美一级视频| 老司机亚洲精品| 夜夜狂射影院欧美极品| 午夜免费在线观看精品视频| 亚洲国产免费| 欧美在线视频一区二区三区| 亚洲福利专区| 久久成人免费电影| 一本一本久久a久久精品牛牛影视| 日韩一区二区精品葵司在线| 在线成人黄色| 羞羞答答国产精品www一本| 亚洲精品乱码久久久久久久久 | 久热re这里精品视频在线6| 亚洲精品国产系列| 久久精品国产亚洲一区二区| 午夜精品在线视频| 欧美性猛交99久久久久99按摩| 另类专区欧美制服同性| 国产精品一区二区久激情瑜伽| 亚洲日本aⅴ片在线观看香蕉| 国产伪娘ts一区| 亚洲影院高清在线| 一区二区三区精品国产| 久久久免费观看视频| 亚洲激情中文1区| 亚洲天堂免费在线观看视频| 欧美日韩八区| 亚洲一区二区三区激情| 久久久久久电影| 一区二区三区高清| 欧美日韩亚洲视频一区| 欧美成人免费小视频| 在线不卡欧美| 国产精品视频在线观看| 久久精品成人一区二区三区蜜臀| 久久国产夜色精品鲁鲁99| 欧美性片在线观看| 久久久国产一区二区| 鲁大师影院一区二区三区| 亚洲精品乱码久久久久久按摩观| 欧美日韩亚洲综合一区| 欧美一区二区成人| 欧美福利在线| 久久精品中文字幕一区| 亚洲欧美国产毛片在线| 日韩一区二区精品在线观看| 国产精品入口66mio| 亚洲欧美成人在线| 老司机精品久久| 久久久久久久综合色一本| 亚洲视屏一区| 亚洲国产精品va在线看黑人动漫 | 韩国精品在线观看| 久久精品国产精品亚洲精品| 亚洲激情综合| 国产欧美精品| 欧美日韩ab| 久久一区免费| 亚洲欧美偷拍卡通变态| 欧美 日韩 国产一区二区在线视频| 亚洲国产精品日韩| 国产一区二区三区日韩| 老司机凹凸av亚洲导航| 亚洲国产欧美国产综合一区| 欧美视频在线播放| 欧美一区二区三区在线播放| 99热免费精品在线观看| 亚洲综合色丁香婷婷六月图片| 国产欧美日韩在线| 欧美激情在线播放| 欧美日韩午夜视频在线观看| 欧美日韩成人一区二区| 欧美激情网友自拍| 亚洲在线观看视频网站| 亚洲欧美电影院| 久久成人精品无人区| 久久久亚洲国产天美传媒修理工 | 西瓜成人精品人成网站| 一区二区三区免费观看| 日韩一级黄色大片| 一区二区三区三区在线| 日韩午夜中文字幕| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲免费在线播放| 午夜在线播放视频欧美| 久久av资源网| 亚洲人永久免费| 亚洲一区二区三区久久| 欧美综合第一页| 国产精品99久久久久久有的能看| 久久不见久久见免费视频1| 亚洲第一中文字幕| 欧美激情欧美狂野欧美精品| 亚洲美女黄网| 久久综合99re88久久爱| 欧美人在线视频| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲欧洲精品一区二区精品久久久 | 国产私拍一区| 亚洲一区二区在| 欧美亚洲三区| 亚洲一区二区视频在线| 欧美激情aaaa| 国产精品99久久久久久久久久久久 | 亚洲一区二区三区在线看| 国产午夜精品久久久久久免费视| 日韩亚洲国产精品| 免费看亚洲片| 久久久久九九九九| 激情久久五月天| 亚洲一区综合| 亚洲小视频在线观看| 国产精品乱码一区二三区小蝌蚪| 99在线精品免费视频九九视| 亚洲精品日产精品乱码不卡| 香蕉久久夜色精品国产使用方法| 欧美三级网页| 久久精品国产综合精品| 久久深夜福利免费观看| 91久久国产自产拍夜夜嗨| 亚洲欧洲一区| 国产精品三级视频| 欧美jizz19性欧美| 欧美成人免费在线观看| 一区二区三区 在线观看视| 亚洲一区日韩在线| 欧美日韩一区在线观看视频| 亚洲欧美另类在线| 久久中文字幕一区| 欧美与黑人午夜性猛交久久久| 久久精品国产综合| 久久精品成人欧美大片古装| 亚洲日本va午夜在线电影| 亚洲午夜电影在线观看|