欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java怎么使用FTP下載

本篇內(nèi)容主要講解“java怎么使用FTP下載”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“java怎么使用FTP下載”吧!

成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),寧城網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:寧城等地區(qū)。寧城做網(wǎng)站價(jià)格咨詢:13518219792

1、FTP說明

FTP是文件傳輸協(xié)議FileTransferProtocol的英文縮寫,它是一種TCP/IP協(xié)議,屬于TCP/IP協(xié)議組。雙向傳送控制文件。與此同時(shí),它也是一種應(yīng)用(應(yīng)用程序)。根據(jù)不同的操作系統(tǒng),F(xiàn)TP應(yīng)用程序各不相同,而且所有這些應(yīng)用程序都遵循用于傳輸文件的相同協(xié)議。該協(xié)議由兩部分組成,一是FTP服務(wù)器,二是FTP客戶端。

2、下載思路

(1)設(shè)置文件類型(二進(jìn)制)

(2)處理ftp對應(yīng)文件輸入流,ftp客戶端對象和 ftp文件輸入流

(3)處理完畢的文件列表,用于執(zhí)行文件刪除使用

(4)處理當(dāng)前的文件名稱

3、FTP下載實(shí)例

    /**
     *
     * JAVA操作 FTP 下載
     * 文件下載。
     *
     */
    private void ftpDownload()
    {
        FTPClient ftpClient = null;
        InputStream input = null;
        boolean loginFlag = false;
        List<String> list = new ArrayList<String>();
        try
        {
            int defaultPort = CommonsMessage.FTP_DEFAULT_PORT; // 21
            int timeout = M400Constant.NUM_SIXTY_THOUSAND * M400Constant.NUM_TWO; // 120000
            ftpClient = new FTPClient();
 
            ftpClient.setDefaultPort(defaultPort);
            ftpClient.setConnectTimeout(timeout);
//            ftpClient.setSoTimeout(timeout);
            ftpClient.setDefaultTimeout(timeout);
            ftpClient.setDataTimeout(timeout);
            ftpClient.setControlEncoding("UTF-8");
            FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_UNIX);
            conf.setServerLanguageCode("en");
            conf.setDefaultDateFormatStr("MMM dd HH:mm");
            ftpClient.configure(conf);
 
            ftpClient.connect(SystemConfig.getKey("scpFtpIp"));
            loginFlag = ftpClient.login(SystemConfig.getKey("scpFtpUserName").trim(),
                    SystemConfig.getKey("scpFtpPassword").trim());
            String ftpDir = SystemConfig.getKey("ftpHangupDir").trim();
            if (!loginFlag)
            {
                DEBUGGER.debug("login scp ftp is :" + loginFlag);
            }
            // String ftpDir = SystemConfig.getKey("ftpHangupDir").trim();
 
            if (ftpClient.changeWorkingDirectory(ftpDir))
            {
                
 
                FTPFile file[] = ftpClient.listFiles(ftpDir);
 
                if (file != null && file.length > 0)
                {
                    DEBUGGER.debug("hungup file size is:  " + file.length);
                    for (int i = 0; i < file.length; i++)
                    {
                        String fileName = file[i].getName();
                        ftpClient.setBufferSize(CommonsMessage.ONE_K_BUFFER_SIZE);
 
                        // 設(shè)置文件類型(二進(jìn)制)
                        ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
 
                        input = ftpClient.retrieveFileStream(fileName);
                        processInput(ftpClient, input, list, fileName);
 
                        // if (downFlag) {
                        // ftpClient.deleteFile(fileName);
                        // }
                    }
                }
                else
                {
                    try
                    {
                        Thread.sleep(M400Constant.NUM_FIVE_THOUSAND);
                    }
                    catch (InterruptedException e)
                    {
                        /*
                         * if (DEBUGGER.isDebugEnable()) {
                         * DEBUGGER.debug("Failed to queryScpToQuery", e); }
                         */
                        error("Failed to queryScpToQuery", e);
                    }
                }
 
            }
            else
            {
                DEBUGGER.debug("scp dir is error ");
            }
 
        }
        catch (Exception e)
        {
            /*
             * DEBUGGER.debug("dowonload file is faild  ", e);
             */
            error("dowonload file is faild  ", e);
        }
        finally
        {
            close(input, "close inputStream  is faild  ");
            if (ftpClient != null)
            {
                try
                {
                    deleteFile(ftpClient, list);
                    boolean logoutFlag = false;
                    try
                    {
                        logoutFlag = ftpClient.logout();
                        // DEBUGGER.debug("logout : " + logoutFlag);
                    }
                    catch (Exception e)
                    {
                        /*
                         * DEBUGGER.debug("logout : " + logoutFlag);
                         */
                        error("logout : " + logoutFlag, e);
                    }
                    ftpClient = null;
                }
                catch (Exception e)
                {
                    /*
                     * if (DEBUGGER.isDebugEnable()) {
                     * DEBUGGER.error("Failed to ftpDownload", e); }
                     */
                    error("Failed to ftpDownload", e);
                }
                // try {
                // ftpClient.disconnect();
                // } catch (IOException e) {
                // if (DEBUGGER.isDebugEnable()) {
                // DEBUGGER.debug("Failed to ftpDownload", e);
                // }
                // }
            }
        }
    }
 
    /**
     * 處理ftp對應(yīng)文件輸入流。
     *
     * @param ftpClient
     *            ftp客戶端對象
     * @param input
     *            ftp文件輸入流
     * @param list
     *            處理完畢的文件列表,用于執(zhí)行文件刪除使用
     * @param fileName
     *            當(dāng)前處理的文件名稱
     */
    private void processInput(FTPClient ftpClient, InputStream input, List<String> list, String fileName)
    {
        if (input == null)
        {
            return;
        }
        // boolean downFlag = callingService(input);
        callingService(input);
        try
        {
            input.close();
            ftpClient.completePendingCommand();
            list.add(fileName);
        }
        catch (Exception e)
        {
            /*
             * DEBUGGER.debug("Failed to ftpDownload", e);
             */
            error("Failed to ftpDownload", e);
        }
    }
}

到此,相信大家對“java怎么使用FTP下載”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享文章:java怎么使用FTP下載
當(dāng)前地址:http://chinadenli.net/article42/iegcec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、商城網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、服務(wù)器托管、關(guān)鍵詞優(yōu)化、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)
亚洲国产91精品视频| 福利一区二区视频在线| 一区二区三区日韩在线| 老熟妇2久久国内精品| 国产一区二区久久综合| 成年男女午夜久久久精品| 九九久久精品久久久精品| 日本一区二区三区黄色| 欧美一级片日韩一级片| 国产精品偷拍一区二区| 欧美亚洲美女资源国产| 男女午夜福利院在线观看| 亚洲一区二区精品久久av| 大屁股肥臀熟女一区二区视频| 免费精品国产日韩热久久| 欧美字幕一区二区三区| 中文字幕日韩欧美理伦片| 国产91色综合久久高清| 91人妻久久精品一区二区三区| 成人免费高清在线一区二区| 日韩欧美精品一区二区三区| 国产一区二区三区免费福利| 久久热麻豆国产精品视频| 亚洲av成人一区二区三区在线| 草草夜色精品国产噜噜竹菊| 好骚国产99在线中文| 九九热精品视频在线观看 | 综合久综合久综合久久| 日韩成人午夜福利免费视频 | 中文字幕日韩欧美亚洲午夜| 人妻熟女欲求不满一区二区| 日韩人妻一区中文字幕| 国产一区二区三区精品免费| 日本精品最新字幕视频播放| 99精品国产一区二区青青 | 久久精品国产99国产免费| 日韩免费成人福利在线| 国产欧美高清精品一区| 日韩欧美国产精品中文字幕| 国产又粗又长又大的视频| 神马午夜福利一区二区|