1. 程式人生 > >FtpClient jdk1.7與jdk1.6區別

FtpClient jdk1.7與jdk1.6區別

FtpClient 在jdk1.7,變成了private的,所以沒辦法通過new去例項化,為此百度了一些,總結一下1.6到1.7的變化

//ftpClient = new FtpClient();   原有的new 方法
 ftpClient = FtpClient.create(); //1.7的替換方式
SocketAddress addr=new InetSocketAddress(ftpCfg.getFtpHost(), Integer.parseInt(ftpCfg.getFtpPort()));
  //ftpClient.openServer(ftpCfg.getFtpHost(), Integer.parseInt(ftpCfg.getFtpPort()));//原先的方法
  ftpClient.connect(addr);
//ftpClient.login(ftpCfg.getFtpUser(), ftpCfg.getFtpPwd());
 ftpClient.login(ftpCfg.getFtpUser(), ftpCfg.getFtpPwd().toCharArray());
// 用2進位制上傳、下載
  //ftpClient.binary();
  ftpClient.setBinaryType();
//在catch中,新增了一個異常的捕捉,很多地方都要捕捉這個異常,不然會提示報錯
catch (FtpProtocolException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } 
//ftpClient.closeServer();
    ftpClient.close();
//TelnetInputStream is = null;
  InputStream  is = null;//由於getFileStream方法返回的是InputStream,所以不使用TelnetInputStream 
 //is = ftpClient.get(filename);
   is = ftpClient.getFileStream(filename); 
   //ftpClient.cd(path);
   ftpClient.changeDirectory(path);
   //pwd = ftpClient.pwd();
   pwd = ftpClient.getWorkingDirectory();
    //ftpClient.sendServer("dele " + fileName + "\r\n");
    ftpClient.deleteFile(fileName);//刪除檔案
    ftpClient.removeDirectory(path);//刪除資料夾