开源代码:edtFTPj学习总结 .netUP应用服务器XML
程序员文章站
2022-07-09 20:39:20
...
edtFTPj
edtFTPj是一个FTP客户端包它可以嵌入到应用程序中以便以提供FTP的功能.它提供一些方法如:put(),get(),chdir(),dir()与pwd()等来完成FTP的功能.
通过对其的学习,尤其是取FILENAME是一个大的挑战,我曾经为这个走了很多的冤枉路,我对其代码总结。
edtFTPj是一个FTP客户端包它可以嵌入到应用程序中以便以提供FTP的功能.它提供一些方法如:put(),get(),chdir(),dir()与pwd()等来完成FTP的功能.
通过对其的学习,尤其是取FILENAME是一个大的挑战,我曾经为这个走了很多的冤枉路,我对其代码总结。
package com.throuhout.j2eemodel.util; /** * 保留Enterprisedt公司信息 * Copyright (C); 2000-2004 Enterprise Distributed Technologies Ltd * * www.enterprisedt.com * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option); any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Bug fixes, suggestions and comments should be sent to support@enterprisedt.com * nether add by heweiya * 对FTP服务器的通用操作 * ConnFTPServer(String host,String username,String password); * Upload(String localfile,String filename); * Download(String localpath); * */ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; import com.enterprisedt.net.ftp.FTPClient; import com.enterprisedt.net.ftp.FTPConnectMode; import com.enterprisedt.net.ftp.FTPException; import com.enterprisedt.net.ftp.FTPMessageCollector; import com.enterprisedt.net.ftp.FTPTransferType; import com.enterprisedt.util.debug.Logger; /** * Simple test class for FTPClient * * @author Hans Andersen * @author Bruce Blackshaw */ public class FtpClient { /** * Log stream */ private static Logger log = Logger.getLogger(FtpClient.class);; private FTPClient ftp = null; public void ConnFTPServer(String host, String username, String password); { try { // set up client ftp = new FTPClient();; ftp.setRemoteHost(host);; FTPMessageCollector listener = new FTPMessageCollector();; ftp.setMessageListener(listener);; //ftp.setAutoPassiveIPSubstitution(true);; // connect log.info("Connecting");; ftp.connect();; // login log.info("Logging in");; ftp.login(username, password);; // set up passive ASCII transfers log.debug("Setting up passive, ASCII transfers");; ftp.setConnectMode(FTPConnectMode.ACTIVE);; ftp.setType(FTPTransferType.ASCII);; } catch (Exception e); { log.error("Demo failed", e);; } } public void Upload(String localfile, URL url); { String host = url.getHost();; int port = url.getPort();; File filePath = new File(url.getPath(););; String directory = filePath.getParent();.substring(1);; String filename = filePath.getName();; try { //connect(host, port);; ftp.chdir(directory);; ftp.put(new FileInputStream(localfile);, filename);; } catch (Exception e); { log.error("Demo failed", e);; } } public void Upload(String localpath,String filename); { try { ftp.put(localpath, filename);; } catch (Exception e); { log.error("Demo failed", e);; } } public void DownloadAll(String localpath);{ try { ftp.chdir("xml");; String[] files = ftp.dir(".", true);; for (int i = 0; i < files.length; i++); { String testfile = files[i].substring(39);;//大家可以看到这里,testfile取得不是filename而是一个字条串,我只是从开始的位置取得FILENAME,方法可能很笨,但是我不知道如何来取得真正的FILENAME。 log.debug(files[i]);; ftp.get(new FileOutputStream(localpath+testfile);,testfile);; //ftp.get(localpath + testfile, testfile);; } } catch (IOException e); { // TODO 自动生成 catch 块 e.printStackTrace();; } catch (FTPException e); { // TODO 自动生成 catch 块 e.printStackTrace();; } } public void DisConn();{ try { ftp.quit();; } catch (IOException e); { // TODO 自动生成 catch 块 e.printStackTrace();; } catch (FTPException e); { // TODO 自动生成 catch 块 e.printStackTrace();; } } }
上一篇: css百分比浮动法