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

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

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

    J2EE劍俠行

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

    常用鏈接

    統(tǒng)計

    技術鏈接

    最新評論

    開源代碼:edtFTPj學習總結

    edtFTPj

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

    通過對其的學習,尤其是取FILENAME是一個大的挑戰(zhàn),我曾經為這個走了很多的冤枉路,我對其代碼總結。
    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 @家軍 閱讀(1213) 評論(0)  編輯  收藏 所屬分類: J2EE開源學習

    主站蜘蛛池模板: 亚洲性猛交XXXX| 一本色道久久88综合亚洲精品高清| 国产成人高清亚洲| 国产免费区在线观看十分钟| 国产成人亚洲综合无码| caoporm碰最新免费公开视频| 中文亚洲成a人片在线观看| eeuss草民免费| 亚洲精品无码mv在线观看网站| 久久免费视频一区| 亚洲AV无码不卡无码| 特级无码毛片免费视频尤物 | 皇色在线免费视频| 亚洲国产另类久久久精品黑人 | 亚洲美女视频免费| 亚洲人成777在线播放| 岛国大片免费在线观看| 久久精品国产亚洲AV未满十八 | 免费成人午夜视频| jizz免费观看视频| 亚洲精品视频在线| 毛片在线免费视频| 一级毛片aaaaaa视频免费看| 国产精品亚洲а∨无码播放| 免费观看激色视频网站(性色)| 在线观看免费亚洲| 亚洲AV之男人的天堂| 亚洲国产成人久久一区二区三区| 亚洲欧洲AV无码专区| 蜜桃精品免费久久久久影院| 国产精品亚洲午夜一区二区三区| 国产成人免费A在线视频| 91视频精品全国免费观看| 久久精品亚洲精品国产色婷| 最新69国产成人精品免费视频动漫| 污网站在线观看免费| 亚洲黄色片免费看| 国产亚洲精品免费| 99久热只有精品视频免费看| 亚洲AV成人片无码网站| 亚洲αv久久久噜噜噜噜噜|