FtpClient jdk1.7與jdk1.6區別
阿新 • • 發佈:2018-12-16
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);//刪除資料夾