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

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

?? virtualdirectory.java

?? 一個利用Java語言實現的ftp程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
        return "group";
    }
    
    
    /**
     * Get link count
     */
    private String getLinkCount(File fl) {
        if(fl.isDirectory()) {
            return String.valueOf(3);
        }
        else {
            return String.valueOf(1);
        }
    }
    
    
    /**
     * Get size
     */
    private String getLength(File fl) {
        String initStr = "            ";
        long sz = 0;
        if(fl.isFile()) {
            sz = fl.length();
        }
        String szStr = String.valueOf(sz);
        if(szStr.length() > initStr.length()) {
            return szStr;
        }
        return initStr.substring(0, initStr.length() - szStr.length()) + szStr;
    }
    
    
    /**
     * Get last modified date string.
     */
    private String getLastModified(File fl) {
        long modTime = fl.lastModified();
        Date date = new Date(modTime);
        return DateUtils.getUnixDate(date);
    }
    
    
    /**
     * Get file name.
     */
    private String getName(File fl) {
        return fl.getName();
    }
   
    
    /**
     * Get permission string.
     */
    private String getPermission(File fl) {

        StringBuffer sb = new StringBuffer(13);
        if(fl.isDirectory()) {
            sb.append('d');
        }
        else {
            sb.append('-');
        }
        
        if (fl.canRead()) {
            sb.append('r');
        }
        else {
            sb.append('-');
        }
        
        if (mbWritePerm && fl.canWrite()) {
            sb.append('w');
        }
        else {
            sb.append('-');
        }
        sb.append("-------");
        return sb.toString();
    }
    
    
    /**
     * Normalize separate characher. Separate character should be '/' always.
     */
    private String normalizeSeparateChar(String pathName) {   
       pathName = pathName.replace(File.separatorChar, '/');
       pathName = pathName.replace('\\', '/');
       return pathName;
    }
    
    
    /**
     * Replace dots. Returns physical name.
     * @param inArg the virtaul name
     */
    private String replaceDots(String inArg) {
        
        // get the starting directory
        String resArg;
        if(inArg.charAt(0) != '/') {
            resArg = mstRoot + mstCurrDir.substring(1);
        }
        else {
            resArg = mstRoot;
        }     
        
        // strip last '/'   
        if(resArg.charAt(resArg.length() -1) == '/') {
            resArg = resArg.substring(0, resArg.length()-1);
        }
        
        // replace ., ~ and ..        
        StringTokenizer st = new StringTokenizer(inArg, "/");
        while(st.hasMoreTokens()) {

            String tok = st.nextToken().trim();

            // . => current directory
            if(tok.equals(".")) {
                continue;
            }

            // .. => parent directory (if not root)
            if(tok.equals("..")) {
                if(resArg.startsWith(mstRoot)) {
                  int slashIndex = resArg.lastIndexOf('/');
                  if(slashIndex != -1) {
                    resArg = resArg.substring(0, slashIndex);
                  }
                }
                continue;
            }
            
            // ~ => home directory (in this case /)
            if (tok.equals("~")) {
                resArg = mstRoot.substring(0, mstRoot.length()-1).trim();
                continue;
            }
            
            resArg = resArg + '/' + tok;
        }
        
        // add last slash if necessary
        if( !inArg.equals("") && (inArg.charAt(inArg.length()-1)=='/') ) {
            resArg = resArg + '/';
        }
        
        // final check
        if (resArg.length() < mstRoot.length()) {
            resArg = mstRoot;
        }
        
        return resArg;
    }
    
    
    /**
     * Get each directory line.
     */
    private void printLine(File fl, Writer out) throws IOException {
        out.write(getPermission(fl));
        out.write(DELIM);
        out.write(DELIM);
        out.write(DELIM);
        out.write(getLinkCount(fl));
        out.write(DELIM);
        out.write(getOwner(fl));
        out.write(DELIM);
        out.write(getGroup(fl));
        out.write(DELIM);
        out.write(getLength(fl));
        out.write(DELIM);
        out.write(getLastModified(fl));
        out.write(DELIM);
        out.write(getName(fl));
    }
        
    /**
     * If the string is not '/', remove last slash.
     */
    private String removeLastSlash(String str) {
        if ( (str.length()>1) && (str.charAt(str.length()-1)=='/') ) {
            str = str.substring(0, str.length()-1);
        }
        return str;
    }
    
    
    
    //////////////////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////////////////
    /**
     * Inner class to compare files
     */
    private class FileComparator implements Comparator {
        public int compare(Object o1, Object o2) {
            String s1 = ((File)o1).getName();
            String s2 = ((File)o2).getName();
            return s1.compareTo(s2);
        }
    } 
        
        
    /////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////
    /**
     * File lister to list files properly
     */    
    private class FileLister {
        
        private File[] files = null;
        private boolean bAll = false;
        private boolean bDetail = false; 
        
        /**
         * Parse arguments - get options and get file list.
         */
        public FileLister(String argument) {
            String lsDirName = "./";
            String options = "";
            String pattern   = "*";
        
            // get options, directory name and pattern
            if(argument != null) {
                argument = argument.trim();
                StringBuffer optionsSb = new StringBuffer(4);
                StringTokenizer st = new StringTokenizer(argument, " ");
                while(st.hasMoreTokens()) {
                    String token = st.nextToken();
                    if(token.charAt(0) == '-') {
                        if (token.length() > 1) {
                            optionsSb.append(token.substring(1));
                        }
                    }
                    else {
                       lsDirName = token;
                    }
                }
                options = optionsSb.toString();
            }

            // check options
            bAll = options.indexOf('a') != -1;
            bDetail = options.indexOf('l') != -1;

            // check pattern
            lsDirName = getPhysicalName(lsDirName);
            File lstDirObj = new File(lsDirName);
            if ( !(lstDirObj.exists() && lstDirObj.isDirectory()) ) {
                int slashIndex = lsDirName.lastIndexOf('/');
                if( (slashIndex != -1) && (slashIndex != (lsDirName.length() -1)) ) {
                    pattern = lsDirName.substring(slashIndex+1);
                    lsDirName = lsDirName.substring(0, slashIndex+1);
                }
            }
        
            // check directory
            lstDirObj = new File(lsDirName);
            if(!lstDirObj.exists()) {
                return;
            }
            if(!lstDirObj.isDirectory()) {
                return;
            }

            // get file list
            if ( (pattern == null) || pattern.equals("*") || pattern.equals("") ) {
                files = lstDirObj.listFiles();
            }
            else {
                files = lstDirObj.listFiles(new FileRegularFilter(pattern));
            }
            //Arrays.sort(files, new FileComparator());
        }
        
        
        /**
         * Get files
         */
        public File[] getFiles() {
            return files;
        } 
        
        /**
         * Display all flag
         */
        public boolean isAll() {
            return bAll;
        } 
        
        /**
         * Display detail flag
         */
        public boolean isDetail() {
            return bDetail;
        } 
    }
        
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区爽爽爽爽爽 | 精品亚洲porn| 亚洲精品伦理在线| 亚洲少妇30p| 亚洲日本在线a| 一区二区三区资源| 亚洲一区二区在线播放相泽| 一区二区三区美女视频| 亚洲午夜在线观看视频在线| 天堂久久一区二区三区| 日韩电影一区二区三区| 精品一区二区三区蜜桃| 成人在线视频一区二区| 91麻豆国产香蕉久久精品| 色菇凉天天综合网| 日韩一区二区在线看| 久久亚洲二区三区| 最新中文字幕一区二区三区 | 91蜜桃在线观看| 欧美亚洲综合一区| 日韩欧美国产精品一区| 国产精品丝袜91| 亚洲一二三区视频在线观看| 男男成人高潮片免费网站| 久久99国产精品久久99 | 制服视频三区第一页精品| 5月丁香婷婷综合| 欧美激情综合网| 夜夜嗨av一区二区三区中文字幕| 天天做天天摸天天爽国产一区| 国产在线一区二区| eeuss影院一区二区三区| 欧美午夜一区二区| 26uuu欧美| 亚洲一级二级三级| 国产东北露脸精品视频| 欧美日韩久久一区二区| 国产日产欧美一区| 日本欧美加勒比视频| 不卡视频一二三| 精品久久五月天| 依依成人精品视频| 国产白丝网站精品污在线入口| 欧美色综合网站| 亚洲欧美综合在线精品| 免费在线一区观看| 在线观看免费视频综合| 国产精品色婷婷| 久久成人精品无人区| 欧美视频在线观看一区| 成人欧美一区二区三区黑人麻豆 | 国产精品全国免费观看高清| 三级在线观看一区二区 | 久久福利视频一区二区| 欧美色男人天堂| 亚洲欧美色图小说| 成人久久视频在线观看| 久久综合久久综合九色| 欧美aaaaaa午夜精品| 69堂国产成人免费视频| 夜夜揉揉日日人人青青一国产精品| 国产白丝精品91爽爽久久| 久久综合九色综合97婷婷| 丝瓜av网站精品一区二区| 欧美色图片你懂的| 一区二区三区四区国产精品| 99在线视频精品| 中文字幕一区二区三| av福利精品导航| 亚洲欧美综合另类在线卡通| 成人高清免费观看| 国产精品久久久久7777按摩| 成人午夜在线免费| 国产精品国产精品国产专区不片| 国产精品一二三在| 中文字幕一区二区三区蜜月| 91免费观看在线| 亚洲一区在线观看网站| 欧美日韩免费电影| 日韩国产成人精品| 日韩精品一区二区三区四区视频| 久久精品999| 国产欧美日韩激情| 99精品视频在线观看| 亚洲另类春色国产| 在线成人免费视频| 精久久久久久久久久久| 中文字幕免费不卡| 色综合天天在线| 亚洲国产精品久久艾草纯爱| 9191成人精品久久| 国产美女久久久久| 亚洲免费高清视频在线| 欧美肥胖老妇做爰| 国产精品小仙女| 亚洲黄色片在线观看| 日韩视频免费直播| av在线这里只有精品| 亚洲网友自拍偷拍| 亚洲精品一区二区三区在线观看| 懂色一区二区三区免费观看| 精品一区二区影视| 欧美一区二区成人6969| 麻豆91小视频| 中文字幕一区二区三中文字幕| 91搞黄在线观看| 激情深爱一区二区| 一区二区在线观看视频| 日韩欧美精品三级| 91麻豆产精品久久久久久| 日本亚洲电影天堂| 亚洲同性同志一二三专区| 欧美一级理论片| 91玉足脚交白嫩脚丫在线播放| 日韩电影在线观看网站| 国产精品初高中害羞小美女文| 欧美性大战久久| 成人一区二区三区| 久久精品国产99国产精品| 亚洲综合成人网| 欧美高清在线精品一区| 日韩欧美第一区| 欧美色综合网站| 色综合天天综合网国产成人综合天 | 日韩亚洲国产中文字幕欧美| 国产福利精品导航| 久久精品999| 婷婷久久综合九色综合伊人色| 国产精品久久午夜| 久久伊99综合婷婷久久伊| 欧美精品粉嫩高潮一区二区| 91丝袜美腿高跟国产极品老师 | 中文字幕中文字幕在线一区| 欧美mv日韩mv| 69精品人人人人| 欧美日本乱大交xxxxx| 在线视频欧美精品| 99精品在线观看视频| 波波电影院一区二区三区| 国产九色sp调教91| 精品一区二区三区久久| 强制捆绑调教一区二区| 日日夜夜精品视频免费| 午夜精品视频一区| 午夜精品久久久久久久久久 | 丰满亚洲少妇av| 国产乱子伦一区二区三区国色天香| 日韩不卡一二三区| 日韩在线播放一区二区| 亚洲国产欧美日韩另类综合| 亚洲靠逼com| 一区二区三区在线观看欧美| 亚洲精品写真福利| 一区二区三区在线视频免费| 一区二区三区久久久| 五月天一区二区三区| 亚洲.国产.中文慕字在线| 五月天亚洲婷婷| 久久不见久久见免费视频1| 国产一区二区调教| 成人高清av在线| 欧美亚洲愉拍一区二区| 91麻豆精品91久久久久久清纯| 欧美一区中文字幕| 久久综合999| 亚洲欧美日韩在线不卡| 亚洲国产综合在线| 国模一区二区三区白浆| 成人美女视频在线观看18| 色欧美片视频在线观看在线视频| 欧美日韩久久一区二区| 欧美精品一区二区精品网| 欧美高清在线一区二区| 亚洲国产人成综合网站| 久久99精品久久久久久国产越南 | 国产精品网站在线观看| 亚洲国产乱码最新视频| 日韩av网站在线观看| 成人久久久精品乱码一区二区三区| 欧洲精品中文字幕| 久久久蜜桃精品| 亚洲综合久久久| 国产成人免费视频网站高清观看视频 | 欧美日韩的一区二区| 26uuu成人网一区二区三区| 国产精品成人免费精品自在线观看| 亚洲乱码日产精品bd| 久久99精品久久久久久久久久久久| 成人高清免费观看| 日韩一区二区三区电影| 国产精品久久久久永久免费观看| 亚洲一二三区视频在线观看| 国产呦精品一区二区三区网站| 在线免费观看日韩欧美| 久久免费的精品国产v∧| 亚洲国产成人av| 成人免费高清视频在线观看| 日韩午夜中文字幕| 亚洲黄色性网站| 丰满亚洲少妇av|