<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    使用正則表達(dá)式識(shí)別合理的文件擴(kuò)展名

    系統(tǒng)硬件升級(jí),采用nas存儲(chǔ)設(shè)備代替原來的本地存儲(chǔ),問題出現(xiàn)了。
    ??????用作文件存儲(chǔ)的NAS設(shè)備居然不支持中文文件名,對(duì)其他字符的支持也不好說。
    原來的系統(tǒng)處理只把文件名進(jìn)行了轉(zhuǎn)換,沒有考慮文件擴(kuò)展名,例如,下面的文件名:
    ??????test.測(cè)試
    轉(zhuǎn)換后變成了:
    ??? 374658237937_1.測(cè)試

    在nas上根本就無法存儲(chǔ),導(dǎo)致程序執(zhí)行失敗
    ?
    解決的辦法:
    必須對(duì)擴(kuò)展名也進(jìn)行轉(zhuǎn)換,但又不能全部轉(zhuǎn)換。對(duì)于以英文作為擴(kuò)展名的文件,不作擴(kuò)展名轉(zhuǎn)換,例如xx.doc
    因此,需要使用某種方法把不合適的擴(kuò)展名找出來,我現(xiàn)在的規(guī)則是,對(duì)包括下面的字符以外字符的擴(kuò)展名進(jìn)行轉(zhuǎn)換,這個(gè)規(guī)則是我查看window3的所有擴(kuò)展名后確定的:
    ??????a-z
    ??????A-Z
    ??????_
    ??????-
    ??????0-9
    ???使用下面的正則表達(dá)式:
    ??????"[^\\w\\-]
    ??????由于\w已經(jīng)包含了a-z,A-Z,0-9以及下劃線,所以只要再加上減號(hào)就可以了。
    ??? 測(cè)試用的java代碼如下:
    ?? package com.test;
    import java.util.regex.Pattern;


    public class a {

    ?static public void main(String[] argc)
    ?{
    ????
    ?? System.out.println(Pattern.compile("[^\\w\\-]").matcher("a*b").find());

    ?}
    ?
    }

    如果返回true,說明包含規(guī)則外的字符,需要被轉(zhuǎn)換。

    posted on 2008-04-03 16:22 惡魔 閱讀(3053) 評(píng)論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: eeuss草民免费| 最近中文字幕免费大全| 日本妇人成熟免费中文字幕| 亚洲成亚洲乱码一二三四区软件| 一个人免费观看日本www视频| 亚洲成年看片在线观看| 美景之屋4在线未删减免费| 国产一级一片免费播放| 国产午夜亚洲精品不卡电影| 国产免费一区二区三区VR| 日本高清免费中文在线看| 亚洲毛片网址在线观看中文字幕 | 久久香蕉国产线看观看亚洲片| a色毛片免费视频| 精品亚洲成AV人在线观看| 四虎永久在线观看免费网站网址 | 免费看搞黄视频网站| 亚洲色图.com| 久久久久国色AV免费观看性色| 亚洲日韩在线中文字幕综合| 亚洲精品国产高清嫩草影院| 国产日韩AV免费无码一区二区 | 亚洲中文字幕AV每天更新| 国产一精品一aⅴ一免费| 久久er国产精品免费观看8| 亚洲高清专区日韩精品| 国产1000部成人免费视频| 黄页免费视频播放在线播放| 亚洲国产精品一区二区久久hs| 18禁止看的免费污网站| 亚洲AV综合永久无码精品天堂| 久久亚洲精品无码播放| 久久久久久夜精品精品免费啦| 中文字幕亚洲综合久久综合| 亚洲国产综合精品中文字幕| 亚洲一区免费观看| 亚洲经典千人经典日产| 亚洲国产精品无码久久久不卡| a毛片基地免费全部视频| 一级毛片免费观看不收费| 亚洲精品中文字幕乱码影院|