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

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

?? 文件大小單位轉換.txt

?? java 的代碼
?? TXT
字號:

import java.text.DecimalFormat;
import java.util.Hashtable;

/**
 * 文件大小單位轉換
 * @author Administrator
 * 
 */
public class UnitsConversion extends DecimalFormat {

    private static final long serialVersionUID = 3168068393840262910L;
    /**
     * 存放有效單位的數組
     */
    private static Hashtable<String, String> validUnits = new Hashtable<String, String>();
    /**
     * 限制文件大小上限為1G
     */
    private static int GB_MAX_SIZE = 1;
    /**
     * 最大的MB值
     */
    private static int MB_MAX_SIZE = GB_MAX_SIZE * 1024;
    /**
     * 最大的KB值
     */
    private static int KB_MAX_SIZE = MB_MAX_SIZE * 1024;
    /**
     * 最大的Bytes值
     */
    private static int BYTES_MAX_SIZE = KB_MAX_SIZE * 1024;
    /**
     * 數字部分的值
     */
    private Double numPart;
    /**
     * 原始的單位字符串
     */
    private String originalUnit;
    /**
     * 標準的單位字符串
     */
    private String unit;
    /**
     * 轉換后的結果
     */
    private String result;

    // 添加所有有效單位
    static {
        validUnits.put("字節", "Bytes");
        validUnits.put("bytes", "Bytes");
        validUnits.put("byte", "Bytes");
        validUnits.put("kb", "KB");
        validUnits.put("k", "KB");
        validUnits.put("兆", "MB");
        validUnits.put("mb", "MB");
        validUnits.put("m", "MB");
        validUnits.put("gb", "GB");
        validUnits.put("g", "GB");
    }

    /**
     * 構造方法:指定了數字格式,初始所有屬性為NULL
     */
    public UnitsConversion() {
        super("########.##");
        numPart = null;
        result = null;
        unit = null;
        originalUnit = null;
    }

    /**
     * 根據單位、數字大小按照常用的轉換原則進行轉換
     * 
     * @param input
     * @return 成功轉換后的結果是非空字符串;若失敗了,結果為空字符串
     */
    public String defaultConversion(String input) {
        analyzeString(input);
        if (result != null) {
            return result;
        }
        // 單位 Bytes
        if (unit.equals("Bytes")) {
            int numPart2Int = numPart.intValue();
            // 輸入大小與1G相差0.5M之內,返回1GB
            if ((BYTES_MAX_SIZE - numPart2Int) < (1024 * 1024) / 2) {
                return "1 GB";
            }
            // (0,1KB)
            if (numPart2Int < 1024) {
                return numPart2Int + " Bytes";
            }
            // [1KB,1023KB]
            if (numPart2Int >= 1024 && numPart2Int <= (1024 - 1) * 1024) {
                return format(numPart / 1024) + " KB";
            }
            // (1023KB,1GB)
            if (numPart2Int > (1024 - 1) * 1024 && numPart2Int < BYTES_MAX_SIZE) {
                return format(numPart / (1024 * 1024)) + " MB";
            } else
                result = "";
            return result;
        }

        if (unit.equals("KB")) {
            return "還沒實現....";
        }

        if (unit.equals("MB")) {
            return "還沒實現....";
        }

        if (unit.equals("GB")) {
            return "還沒實現....";
        }
        result = "";
        return result;
    }

    /**
     * 把字符串的數字部分與單位分離,并對數字、單位的有效性進行檢驗, 若有非法狀況,把結果賦值為 "" ,將其返回給用戶
     * 
     * @param input
     */
    public void analyzeString(String input) {
        // 初步檢驗輸入的字符串
        if (input == null || input.trim().length() < 2) {
            System.out.println("輸入的字符串有誤");
            result = "";
            return;
        }
        input = input.replaceAll(" ", "");
        int firstIndexOfUnit;// 單位的起始位置
        String strOfNum;// 數字部分的字符串
        // 從尾部開始遍歷字符串
        for (int i = input.length() - 1; i >= 0; i--) {
            if (Character.isDigit(input.charAt(i))) {
                firstIndexOfUnit = i + 1;
                originalUnit = input.substring(firstIndexOfUnit,
                        input.length()).toLowerCase();
                if (!isValidUnit(originalUnit)) {
                    System.out.println("無效單位。");
                    result = "";
                    return;
                }
                unit = validUnits.get(originalUnit);
                strOfNum = input.substring(0, firstIndexOfUnit);
                numPart = Double.parseDouble(strOfNum);
                if (!isValidNum(numPart, unit)) {
                    System.out.println("文件大小非法");
                    result = "";
                    return;
                }
                if (numPart == 0) {
                    result = "0 Bytes";
                    return;
                }
                break;
            }
        }
        if (unit == null || numPart == null) {
            System.out.println("輸入的字符串有誤");
            result = "";
            return;
        }

    }

    /**
     * 文件大小越界檢查
     * 
     * @param num
     * @param unit
     * @return 在1G范圍內(包括1G),返回true;否則返回false
     */
    public boolean isValidNum(Double num, String unit) {
        if (num == null || num < 0 || num > BYTES_MAX_SIZE) {
            return false;
        }
        if (unit.equals("KB") && num > KB_MAX_SIZE) {
            return false;
        }
        if (unit.equals("MB") && num > MB_MAX_SIZE) {
            return false;
        }
        if (unit.equals("GB") && num > GB_MAX_SIZE) {
            return false;
        }
        return true;
    }

    /**
     * 檢查原始單位originalUnit是否有效
     * 
     * @param originalUnit
     * @return 若originalUnit為空,那么會給他賦默認值 bytes ,并返回true;<br>
     *         若originalUnit是有效單位集合中之一,返回true。
     */
    public boolean isValidUnit(String originalUnit) {
        if (originalUnit == null || originalUnit.trim().length() < 1) {
            originalUnit = "bytes";
            return true;
        }
        for (String validUnit : validUnits.keySet()) {
            if (validUnit.equalsIgnoreCase(originalUnit)) {
                return true;
            }
        }
        return false;
    }
    //測試
    public static void main(String[] args) {
        System.out.println("-------------");
        for (int i = 1020 * 1024; i <= 1024 * 1111; i += 9) {
            String input = i + " ";
            System.out.println(input + " ---> "
                    + new UnitsConversion().defaultConversion(input));
        }
    }

}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合激情| 国产成人鲁色资源国产91色综| 一区二区三区视频在线看| 日本一区二区久久| 中文无字幕一区二区三区| 国产午夜亚洲精品理论片色戒| 26uuu亚洲综合色欧美| 精品国产制服丝袜高跟| 欧美日韩免费高清一区色橹橹| 国产91综合网| 91社区在线播放| 欧美性感一区二区三区| 欧美一区永久视频免费观看| 精品久久久久久久久久久久久久久久久| 欧美日韩国产高清一区| 日韩丝袜美女视频| 国产精品伦一区| 丝袜美腿一区二区三区| 高清国产一区二区三区| 欧美在线看片a免费观看| 日韩午夜精品视频| 亚洲成人在线免费| 欧美日韩国产一级| 亚洲成年人网站在线观看| 亚洲精品乱码久久久久久黑人 | 在线视频你懂得一区| 精品国产一区二区三区四区四| 亚洲精品乱码久久久久久| 日韩主播视频在线| 久久99久久99| 91行情网站电视在线观看高清版| 欧美肥胖老妇做爰| 亚洲摸摸操操av| 国产成人午夜高潮毛片| 欧美一区中文字幕| 亚洲第一激情av| av中文字幕不卡| 国产精品视频免费| 国产福利精品一区| 久久久噜噜噜久久中文字幕色伊伊 | 欧美日本一道本| 日韩国产欧美三级| 制服丝袜激情欧洲亚洲| 日韩中文字幕一区二区三区| 欧美三级蜜桃2在线观看| 国产精品白丝在线| 成人午夜视频免费看| 久久久久久久性| 久久精品国产99久久6| 欧美一区二区三区爱爱| 免费的成人av| 久久日一线二线三线suv| 经典三级一区二区| 中文字幕国产一区| 91蝌蚪国产九色| 亚洲一区二区五区| 日韩亚洲欧美在线| 国产最新精品免费| 亚洲图片激情小说| 欧美一级国产精品| 国产精品996| 亚洲高清不卡在线| 久久人人超碰精品| 91传媒视频在线播放| 国产在线视频一区二区三区| 一区二区三区中文免费| 精品国产电影一区二区| 91国偷自产一区二区使用方法| 久久99蜜桃精品| 夜夜嗨av一区二区三区四季av| 2欧美一区二区三区在线观看视频| 色av一区二区| 久久成人久久鬼色| 综合久久久久久| 欧美成va人片在线观看| 日韩丝袜情趣美女图片| 欧美日韩成人激情| 欧美日韩五月天| eeuss影院一区二区三区| 老司机精品视频在线| 午夜精品免费在线| 一区二区三区在线影院| 亚洲三级久久久| 国产日韩高清在线| 久久只精品国产| 日韩欧美综合一区| 在线播放欧美女士性生活| 欧美色中文字幕| 欧美剧情片在线观看| 91精品国产免费| 日韩欧美国产麻豆| 国产蜜臀97一区二区三区| 国产偷国产偷精品高清尤物| 久久青草欧美一区二区三区| 国产精品激情偷乱一区二区∴| 亚洲午夜激情网页| 精久久久久久久久久久| 国产成人精品免费网站| 成人激情文学综合网| 欧洲色大大久久| 日韩一本二本av| ...xxx性欧美| 日本强好片久久久久久aaa| 久99久精品视频免费观看| 国产999精品久久久久久绿帽| 99re成人在线| 777色狠狠一区二区三区| 精品理论电影在线观看| 国产精品国产三级国产| 青娱乐精品在线视频| 国产成人亚洲精品狼色在线 | 色综合天天在线| 欧美一区日韩一区| 国产精品色呦呦| 777奇米四色成人影色区| 亚洲永久精品大片| 在线综合亚洲欧美在线视频| 亚洲超碰精品一区二区| 欧美四级电影在线观看| 亚洲高清在线精品| 欧美精品精品一区| 麻豆视频观看网址久久| 欧美不卡一区二区三区| 国产成人免费视频一区| 亚洲三级电影全部在线观看高清| 欧美中文字幕不卡| 天天综合日日夜夜精品| 国产丝袜美腿一区二区三区| 欧洲精品一区二区三区在线观看| 麻豆久久久久久久| 亚洲综合999| 国产色一区二区| 欧美亚洲日本一区| 国产精品1区2区| 亚洲高清三级视频| 国产精品国产自产拍高清av| 欧美日韩亚洲高清一区二区| 高清视频一区二区| 午夜不卡av在线| 亚洲精品日日夜夜| 国产精品电影院| 久久综合九色综合97_久久久| 欧美日韩成人综合天天影院| 99久久精品国产一区| 国产成人午夜高潮毛片| 捆绑变态av一区二区三区| 亚洲主播在线观看| 亚洲国产精品视频| 亚洲午夜电影在线观看| 亚洲自拍偷拍图区| 亚洲综合区在线| 亚洲午夜av在线| 日韩高清中文字幕一区| 久久国产免费看| 国产91丝袜在线18| 韩国av一区二区三区在线观看| 日韩av一区二区三区四区| 午夜av一区二区三区| 综合分类小说区另类春色亚洲小说欧美| 欧美色老头old∨ideo| 欧美日韩国产高清一区二区| 欧美一区二区三区在| 日韩免费福利电影在线观看| 久久精品一区四区| 一区二区三区欧美| 日韩成人av影视| 成人aaaa免费全部观看| 欧美日韩中文字幕精品| 国产精品天干天干在线综合| 亚洲视频在线一区二区| 天堂在线一区二区| 成人黄色777网| 日韩精品资源二区在线| 国产精品短视频| 麻豆成人免费电影| 欧美综合久久久| 欧美激情一区二区三区| 国产乱码一区二区三区| 日韩精品一区二区三区中文不卡| 国产精品天干天干在线综合| 久草精品在线观看| 欧美一区二区黄色| 亚洲午夜在线观看视频在线| 国产一二精品视频| 精品国产乱码久久久久久浪潮| 日韩成人免费电影| 欧美日韩一本到| 精品综合久久久久久8888| 欧美一级高清片在线观看| 五月天激情综合网| 69成人精品免费视频| 午夜久久久久久久久| 欧美另类高清zo欧美| 久久国产夜色精品鲁鲁99| 欧美图区在线视频| 青青草国产成人99久久| 国产校园另类小说区| 色综合中文字幕国产 | 国产精品午夜电影| 91久久一区二区|