<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();
            
    // 設置一個監(jiān)聽
            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)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 另类专区另类专区亚洲| 久久精品国产96精品亚洲| 亚洲一区二区三区不卡在线播放| 91国内免费在线视频| 亚洲女同成人AⅤ人片在线观看| 高潮内射免费看片| 美女免费视频一区二区三区| 成人毛片视频免费网站观看| 国产JIZZ中国JIZZ免费看| 国产国产人免费视频成69大陆| 亚洲国产综合精品中文第一| 国内免费高清在线观看| 亚洲女初尝黑人巨高清| 亚洲精品第一国产综合亚AV| 成人男女网18免费视频| 国产亚洲精品第一综合| 亚洲精品亚洲人成在线观看下载| 日本在线观看免费高清| 午夜视频免费成人| 精品亚洲av无码一区二区柚蜜| 午夜国产大片免费观看| 亚洲中文字幕日本无线码| 最近中文字幕mv免费高清电影 | 成人黄软件网18免费下载成人黄18免费视频 | 亚洲一区二区影视| 午夜无遮挡羞羞漫画免费| 相泽南亚洲一区二区在线播放| 亚洲 无码 在线 专区| 最近免费mv在线观看动漫| 亚洲欧洲日本精品| 久久免费国产精品一区二区| 激情内射亚洲一区二区三区| 在线观看免费成人| 99久久免费国产特黄| 亚洲国产福利精品一区二区| 老司机永久免费网站在线观看| 国产精品午夜免费观看网站| 亚洲精品国产啊女成拍色拍| 国产精品免费看香蕉| 久久黄色免费网站| 亚洲精华国产精华精华液网站|