亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ftpfilefactory.java

?? edtftpj-1.4.5.zip
?? JAVA
字號:
/**
 *
 *  edtFTPj
 * 
 *  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 bruce@enterprisedt.com
 *
 *  Change Log:
 *
 *    $Log: FTPFileFactory.java,v $
 *    Revision 1.7  2004/10/19 16:15:16  bruceb
 *    swap to unix if seems like unix listing
 *
 *    Revision 1.6  2004/10/18 15:57:16  bruceb
 *    set locale
 *
 *    Revision 1.5  2004/08/31 10:45:50  bruceb
 *    removed unused import
 *
 *    Revision 1.4  2004/07/23 08:31:52  bruceb
 *    parser rotation
 *
 *    Revision 1.3  2004/05/01 11:44:21  bruceb
 *    modified for server returning "total 3943" as first line
 *
 *    Revision 1.2  2004/04/17 23:42:07  bruceb
 *    file parsing part II
 *
 *    Revision 1.1  2004/04/17 18:37:23  bruceb
 *    new parse functionality
 *
 */

package com.enterprisedt.net.ftp;

import java.text.ParseException;
import java.util.Locale;

import com.enterprisedt.util.debug.Logger;

/**
 *  Factory for creating FTPFile objects
 *
 *  @author      Bruce Blackshaw
 *  @version     $Revision: 1.7 $
 */
public class FTPFileFactory {
    
    /**
     *  Revision control id
     */
    public static String cvsId = "@(#)$Id: FTPFileFactory.java,v 1.7 2004/10/19 16:15:16 bruceb Exp $";
    
    /**
     * Logging object
     */
    private Logger log = Logger.getLogger(FTPFileFactory.class);

    /**
     * Windows server comparison string
     */
    final static String WINDOWS_STR = "WINDOWS";
                  
    /**
     * UNIX server comparison string
     */
    final static String UNIX_STR = "UNIX";
        
    /**
     * SYST string
     */
    private String system;
    
    /**
     * Cached windows parser
     */
    private FTPFileParser windows = new WindowsFileParser();
    
    /**
     * Cached unix parser
     */
    private FTPFileParser unix = new UnixFileParser();
    
    /**
     * Does the parsing work
     */
    private FTPFileParser parser = null;
    
    /**
     * Rotate parsers when a ParseException is thrown?
     */
    private boolean rotateParsers = true;
     
    /**
     * Constructor
     * 
     * @param system    SYST string
     */
    public FTPFileFactory(String system) throws FTPException {
        setParser(system);
    }
    
    /**
     * Constructor. User supplied parser. Note that parser
     * rotation (in case of a ParseException) is disabled if
     * a parser is explicitly supplied
     * 
     * @param parser   the parser to use
     */
    public FTPFileFactory(FTPFileParser parser) {
        this.parser = parser;
        rotateParsers = false;
    }   
    
    /**
     * Set the locale for date parsing of listings
     * 
     * @param locale    locale to set
     */
    public void setLocale(Locale locale) {
        windows.setLocale(locale);
        unix.setLocale(locale);
        parser.setLocale(locale); // might be user supplied
    }
    
    /**
     * Set the remote server type
     * 
     * @param system    SYST string
     */
    private void setParser(String system) throws FTPException {
        this.system = system;
        if (system.toUpperCase().startsWith(WINDOWS_STR))
            parser = windows;
        else if (system.toUpperCase().startsWith(UNIX_STR))
            parser = unix;
        else
            throw new FTPException("Unknown SYST: " + system);
    }
    
    
    /**
     * Parse an array of raw file information returned from the
     * FTP server
     * 
     * @param files     array of strings
     * @return array of FTPFile objects
     */
    public FTPFile[] parse(String[] files) throws ParseException {
               
        FTPFile[] temp = new FTPFile[files.length];
        
        // quick check if no files returned
        if (files.length == 0)
            return temp;
        
        // swap to Unix if looks like Unix listing
        if (parser == windows && UnixFileParser.isUnix(files[0])) {
            parser = unix;
            log.info("Swapping Windows parser to Unix");
        }
        
        int count = 0;
        for (int i = 0; i < files.length; i++) {
            try {
                if (files[i] == null || files[i].length() == 0)
                    continue;
                FTPFile file = parser.parse(files[i]);
                // we skip null returns - these are duff lines we know about and don't
                // really want to throw an exception
                if (file != null) {
                    temp[count++] = file;
                }
            }
            catch (ParseException ex) {
                if (rotateParsers) { // first error, let's try swapping parsers
                    rotateParsers = false; // only do once
                    rotateParsers();
                    FTPFile file = parser.parse(files[i]);
                    if (file != null)
                        temp[count++] = file;
                }
                else // rethrow
                    throw ex;
            }
        }
        FTPFile[] result = new FTPFile[count];
        System.arraycopy(temp, 0, result, 0, count);
        return result;
    }
    
    /**
     * Swap from one parser to the other. We can just check
     * object references
     */
    private void rotateParsers() {
        if (parser == unix) {
            parser = windows;
            log.info("Rotated parser to Windows");
        }
        else if (parser == windows){
            parser = unix;
            log.info("Rotated parser to Unix");
        }
    }

    /**
     * Get the SYST string
     * 
     * @return the system string.
     */
    public String getSystem() {
        return system;
    }


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女视频一区在线观看| 欧美久久高跟鞋激| 亚洲色图视频网| 欧美挠脚心视频网站| 国产二区国产一区在线观看| 亚洲欧美色一区| 精品粉嫩超白一线天av| 99久久久久久| 国产又粗又猛又爽又黄91精品| 亚洲黄色小说网站| 国产午夜三级一区二区三| 欧美日韩国产另类一区| 成人性生交大片免费| 亚洲午夜精品在线| 中文字幕高清一区| 久久综合久久综合久久| 日韩一级完整毛片| 日本高清无吗v一区| av日韩在线网站| 成人网在线免费视频| 国产成人精品亚洲午夜麻豆| 久久国产精品色婷婷| 日韩精品亚洲专区| 亚洲国产日韩综合久久精品| 亚洲人亚洲人成电影网站色| 中文字幕日韩av资源站| 综合久久国产九一剧情麻豆| 亚洲欧美另类图片小说| 亚洲人成精品久久久久久| 国产精品国产三级国产aⅴ入口| 亚洲欧洲另类国产综合| 亚洲激情图片一区| 亚洲第一激情av| 极品美女销魂一区二区三区免费| 韩国一区二区在线观看| 不卡一区二区中文字幕| 欧美日韩亚洲丝袜制服| 日韩一区二区三免费高清| 欧美激情中文不卡| 伊人性伊人情综合网| 日韩不卡一区二区| 99久免费精品视频在线观看| 欧美精品一卡二卡| 国产精品你懂的在线欣赏| 亚洲aⅴ怡春院| 国产激情一区二区三区四区 | 亚洲在线一区二区三区| 青青草原综合久久大伊人精品| 国产成人av一区二区三区在线| 色先锋资源久久综合| 欧美日韩美少妇| 国产精品视频一二三区| 日韩经典一区二区| 色综合一区二区| 国产精品久久久久影院色老大| 五月综合激情日本mⅴ| 波多野结衣精品在线| 日韩欧美在线观看一区二区三区| 色一区在线观看| 久久国产视频网| 日韩免费电影网站| 国产精品一区二区在线播放 | 欧美日韩国产综合一区二区| 久久久一区二区| 91老师国产黑色丝袜在线| 婷婷中文字幕一区三区| 久久久美女毛片| 91在线看国产| 男女男精品网站| 亚洲品质自拍视频| 日韩欧美色电影| 91视频在线看| 国产精品资源在线看| 亚洲视频 欧洲视频| 日韩精品在线一区| 91麻豆高清视频| 久久草av在线| 亚洲在线免费播放| 欧美国产综合一区二区| 91精品国产高清一区二区三区| 粉嫩aⅴ一区二区三区四区| 亚洲18影院在线观看| 国产精品久久久久久久久动漫| 91麻豆精品国产91久久久更新时间| 成人av电影在线| 精品在线观看视频| 香蕉av福利精品导航| 国产精品久久毛片| 亚洲精品一区二区三区福利| 欧美日韩亚洲综合在线| 91小宝寻花一区二区三区| 国产一区欧美一区| 美腿丝袜一区二区三区| 亚洲第一狼人社区| 亚洲欧美日韩综合aⅴ视频| 日本一区二区三区免费乱视频 | 天天亚洲美女在线视频| 国产精品美女一区二区在线观看| 日韩美女一区二区三区四区| 欧美精品免费视频| 91影视在线播放| 成人av资源下载| 高清不卡一区二区| 国产乱码字幕精品高清av| 精品在线免费视频| 麻豆精品新av中文字幕| 欧美bbbbb| 久久成人羞羞网站| 看电影不卡的网站| 日本人妖一区二区| 蜜臀久久99精品久久久久久9| 午夜久久福利影院| 一区二区三区在线观看网站| 亚洲美女视频一区| 亚洲精品免费一二三区| 一区二区三区鲁丝不卡| 亚洲第一福利视频在线| 天天射综合影视| 捆绑调教一区二区三区| 精品午夜一区二区三区在线观看 | 亚洲一二三区视频在线观看| 亚洲国产综合在线| 日产国产欧美视频一区精品| 蜜臀久久久久久久| 国产在线麻豆精品观看| 国产精品香蕉一区二区三区| 国产91精品一区二区麻豆网站| 成人黄色av电影| 欧美专区日韩专区| 日韩一区二区三区视频| 久久久蜜臀国产一区二区| 日韩码欧中文字| 天天综合天天做天天综合| 紧缚奴在线一区二区三区| 另类综合日韩欧美亚洲| 久久99国产精品免费网站| 久久不见久久见免费视频1| 日本成人中文字幕| 欧美aaa在线| 激情欧美一区二区三区在线观看| 国产真实精品久久二三区| 国产aⅴ精品一区二区三区色成熟| 国产一区二区女| 国产成人在线视频免费播放| 成人动漫在线一区| 色av一区二区| 精品视频在线免费| 欧美一区二区在线免费播放| 精品福利一二区| 中文字幕乱码亚洲精品一区| 亚洲精品成人悠悠色影视| 亚洲福利一二三区| 久久99精品国产麻豆不卡| 国产精品一区二区x88av| 91麻豆福利精品推荐| 91精品国产aⅴ一区二区| 中文一区二区在线观看| 无码av中文一区二区三区桃花岛| 国产成人啪午夜精品网站男同| 在线视频一区二区三区| 久久久亚洲国产美女国产盗摄| 亚洲一区二区欧美| proumb性欧美在线观看| 欧美一区二区国产| 一级特黄大欧美久久久| 国产一区二区三区在线观看免费| 欧美影视一区在线| 国产精品美女久久福利网站 | 成人精品电影在线观看| 精品国产第一区二区三区观看体验| 亚洲欧洲性图库| 国产伦理精品不卡| 欧美欧美午夜aⅴ在线观看| 国产精品久久综合| 国产精品自拍网站| 日韩三级免费观看| 日韩国产精品91| 在线观看av一区二区| 国产精品久久网站| 国产suv一区二区三区88区| 欧美v日韩v国产v| 日韩电影免费在线观看网站| 色一情一伦一子一伦一区| 国产精品无码永久免费888| 精品一区中文字幕| 欧美一区二区网站| 日本麻豆一区二区三区视频| 欧美在线色视频| 亚洲午夜三级在线| 在线免费观看成人短视频| 亚洲天堂免费看| 一本久久精品一区二区| 国产精品日韩精品欧美在线| 国产成人免费视频精品含羞草妖精| 精品对白一区国产伦| 国产一区二区三区日韩| 久久九九99视频| 国产又粗又猛又爽又黄91精品| 久久综合色鬼综合色| 国产一区二区视频在线播放|