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

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

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

    J2EE劍俠行

    直覺我的J2EE應用生涯,打造我心中的一把利劍。

    常用鏈接

    統計

    技術鏈接

    最新評論

    開源代碼:edtFTPj學習總結

    edtFTPj

    edtFTPj是一個FTP客戶端包它可以嵌入到應用程序中以便以提供FTP的功能.它提供一些方法如:put(),get(),chdir(),dir()與pwd()等來完成FTP的功能.

    通過對其的學習,尤其是取FILENAME是一個大的挑戰,我曾經為這個走了很多的冤枉路,我對其代碼總結。
    java代碼:
    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();
                    }
        }



    posted on 2005-12-16 18:05 @家軍 閱讀(1218) 評論(0)  編輯  收藏 所屬分類: J2EE開源學習

    主站蜘蛛池模板: 亚洲精品无码专区| 亚洲高清美女一区二区三区| 亚洲国产精品无码第一区二区三区| 少妇无码一区二区三区免费| 亚洲午夜成人精品电影在线观看| 亚洲va中文字幕| 日韩视频免费在线| 久久水蜜桃亚洲AV无码精品| 色播在线永久免费视频| 亚洲变态另类一区二区三区| 日本成人免费在线| 日韩精品无码永久免费网站| jizzjizz亚洲| eeuss影院免费直达入口| 亚洲日本va午夜中文字幕久久| 特a级免费高清黄色片| 夜夜春亚洲嫩草影院| 国内精品一级毛片免费看| 337p日本欧洲亚洲大胆精品555588| 69影院毛片免费观看视频在线| 亚洲日本香蕉视频| 成年女人毛片免费播放人| 国产精品亚洲а∨天堂2021| 亚洲午夜无码片在线观看影院猛| a级成人免费毛片完整版| 亚洲美女精品视频| 在线观看免费a∨网站| 一级成人a免费视频| 亚洲av色福利天堂| 最新中文字幕免费视频| 成人a毛片免费视频观看| 亚洲国产精品无码久久久蜜芽| 国产免费一区二区三区| 国产精品亚洲专区无码不卡| 亚洲色婷婷综合久久| 国产精品怡红院永久免费| 曰批免费视频播放免费| 久久久久亚洲AV无码观看| 免费看大美女大黄大色| 大片免费观看92在线视频线视频 | 国产午夜亚洲不卡|