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

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

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

    俊星的BLOG

    Ftp客戶端簡單編程

    基于APACHE COMMONS中的NET包提供的FTP客戶端類庫實現,下面是具體的代碼:

    package test;

    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.PrintWriter;

    import org.apache.commons.net.PrintCommandListener;
    import org.apache.commons.net.ftp.FTP;
    import org.apache.commons.net.ftp.FTPClient;
    import org.apache.commons.net.ftp.FTPFile;
    import org.apache.commons.net.ftp.FTPReply;

    public class ClientTest {
        
    public static void main(String[] args) {
            ClientTest main 
    = new ClientTest();
            FTPClient ftp 
    = new FTPClient();
            
    // 設置一個監聽
            ftp.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
            
    try {
                ftp.connect(
    "localhost"2121);
                
    int reply = ftp.getReplyCode();
                
    if (!FTPReply.isPositiveCompletion(reply)) {
                    ftp.disconnect();
                    System.out.println(
    "FTP server refused connection");
                }

                
    // 登錄
                ftp.login("admin""admin");
                main.uploadFile(ftp);
                main.listFiles(ftp);
                main.downloadFile(ftp);
                main.deleteFile(ftp);
                main.listFiles(ftp);
                
    // 退出
                ftp.logout();
            }
     catch (IOException e) {
                e.printStackTrace();
                
    if (ftp.isConnected()) {
                    
    try {
                        ftp.disconnect();
                    }
     catch (Exception e2) {
                    }

                }

            }

        }

        
        
    // 列舉文件
        private void listFiles(FTPClient ftp) throws IOException {
            System.out.println(
    "------------START------------");
            
    for (FTPFile f : ftp.listFiles()) {
                System.out.println(f.getName() 
    + " " + f.getSize());
            }

            System.out.println(
    "------------END------------");
        }


        
    // 上傳文件
        private void uploadFile(FTPClient ftp) throws IOException {
            ftp.setFileType(FTP.BINARY_FILE_TYPE);
            ftp.enterLocalPassiveMode();
            InputStream input 
    = new FileInputStream("res/conf/dushu.jpg");
            ftp.storeFile(
    "dushu.jpg", input);
            input.close();
        }


        
    // 下載文件
        private void downloadFile(FTPClient ftp) throws IOException {
            ftp.setFileType(FTP.BINARY_FILE_TYPE);
            ftp.enterLocalPassiveMode();
            OutputStream output 
    = new FileOutputStream("res/conf/dushu_down.jpg");
            ftp.retrieveFile(
    "dushu.jpg", output);
            output.close();
        }


        
    // 刪除文件
        private void deleteFile(FTPClient ftp) throws IOException {
            ftp.deleteFile(
    "dushu.jpg");
        }

    }


    輸出如下:
    220 Service ready for new user.
    USER admin
    331 User name okay, need password for admin.
    PASS admin
    230 User logged in, proceed.
    TYPE I
    200 Command TYPE okay.
    PASV
    227 Entering Passive Mode (127,0,0,1,13,12)
    STOR dushu.jpg
    150 File status okay; about to open data connection.
    226 Transfer complete.
    ------------START------------
    SYST
    215 UNIX Type: Apache FtpServer
    PASV
    227 Entering Passive Mode (127,0,0,1,13,14)
    LIST
    150 File status okay; about to open data connection.
    226 Closing data connection.
    dushu.jpg 
    83694
    ------------END------------
    TYPE I
    200 Command TYPE okay.
    PASV
    227 Entering Passive Mode (127,0,0,1,13,16)
    RETR dushu.jpg
    150 File status okay; about to open data connection.
    226 Transfer complete.
    DELE dushu.jpg
    250 Requested file action okay, deleted /dushu.jpg.
    ------------START------------
    PASV
    227 Entering Passive Mode (127,0,0,1,13,18)
    LIST
    150 File status okay; about to open data connection.
    226 Closing data connection.
    ------------END------------
    QUIT
    221 Goodbye.

    最后,提供一張自己拍的讀書圖:

    posted on 2010-10-12 15:37 俊星 閱讀(1025) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲欧美日韩久久精品| 亚洲AV日韩精品久久久久久久 | 永久久久免费浮力影院| 亚洲妓女综合网99| 91在线视频免费播放| 亚洲国产日韩视频观看| 日本牲交大片免费观看| 香蕉视频免费在线播放| 国产亚洲?V无码?V男人的天堂| 国产精品永久免费视频| 亚洲AV无码成人精品区天堂 | 亚洲精品一级无码中文字幕| 农村寡妇一级毛片免费看视频| 亚洲最大av无码网址| 你懂的网址免费国产| 久久亚洲国产成人精品性色| 青娱分类视频精品免费2| 中文字幕亚洲码在线| 亚洲国产成人精品女人久久久| 国产免费人成视频尤勿视频| 亚洲AV乱码久久精品蜜桃| 巨波霸乳在线永久免费视频 | 18禁止观看免费私人影院| 亚洲精品无码久久久久YW| 亚洲成?v人片天堂网无码| a级特黄毛片免费观看| 亚洲成人网在线播放| 国产中文字幕免费| 国产成人免费AV在线播放| 亚洲人成网站在线观看播放青青| 成人爱做日本视频免费| 一个人免费视频观看在线www| 亚洲国产精品综合福利专区| 女人张开腿给人桶免费视频 | 亚洲乱妇老熟女爽到高潮的片| 亚洲 无码 在线 专区| 久久永久免费人妻精品下载| 亚洲日韩精品无码专区加勒比☆ | 自拍偷自拍亚洲精品第1页| 色片在线免费观看| 一级黄色毛片免费看|