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

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

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

    如鵬網(wǎng) 大學(xué)生計(jì)算機(jī)學(xué)習(xí)社區(qū)

    CowNew開源團(tuán)隊(duì)

    http://www.cownew.com 郵件請(qǐng)聯(lián)系 about521 at 163.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      363 隨筆 :: 2 文章 :: 808 評(píng)論 :: 0 Trackbacks

    這個(gè)題目其實(shí)有點(diǎn)大了,其實(shí)說的問題很小。
    大家都說java是跨平臺(tái)的,可是用java寫出來的代碼能不能真正的跨平臺(tái)還是要開發(fā)人員來把握。
    我今天在CSDN上看到一位朋友給JDBMonitor提出的一條bug:
    "如果我的系統(tǒng)是linux,那個(gè)listenerconfig=就難寫了,因?yàn)槲乙菍懗?root/什么的,他會(huì)認(rèn)為是classpath,實(shí)際上這是個(gè)物理路徑,期待改進(jìn)"
    因?yàn)樵谏弦粋€(gè)小版本中,我為了同時(shí)適應(yīng)用戶通過類路徑指定配置文件的位置,比如,com/cownew/config.xml,也能通過真實(shí)的文件路徑制定文件的位置,比如c:/config.xml
    所以我就要判斷用戶給出的路徑是類路徑還是文件路徑,我的實(shí)現(xiàn)方式是判斷路徑是否以a-z的字母開頭,并且后邊跟著":/",如果是,則為文件路徑,否則為類路徑。
    但是在unix(linux)下,絕對(duì)路徑則是/root/cfg/config.xml的形式,我就給誤判斷成是類路徑了。這樣在這些平臺(tái)下就報(bào)錯(cuò)了,我采用如下方式解決:
    JDBMonitor會(huì)首先把<configfilepath>當(dāng)成類路徑去讀取,如果讀取失敗再把它當(dāng)作文件路徑去讀,例如如果您設(shè)定/root/cfg/config.xml,本意是想加載文件路徑/root/cfg/下的文件config.xml,但是如果您的類路徑中有root.cfg這個(gè)包,并且包下同樣有config.xml這個(gè)文件,那么JDBMonitor會(huì)去讀root.cfg中的文件config.xml,而非/root/cfg/config.xml。
    示意代碼如下:
    InputStream is = null;
    is = this.getClass().getResourceAsStream(configFile);
    if(is==null)
    {
    ?? try
    ?{
    ??is = new FileInputStream(configFile);
    ?} catch (FileNotFoundException e)
    ?{
    ??is = null;
    ?}
    }

    不知道有沒有更好的辦法解決,請(qǐng)高手指教。有時(shí)間也去看看那些tomcat之類的服務(wù)器是怎么解決這個(gè)問題的。
    JDBMonitor最強(qiáng)大的無侵入式數(shù)據(jù)庫監(jiān)控、日志工具。
    COWNEW團(tuán)隊(duì),最專業(yè)的開源團(tuán)隊(duì)!官方網(wǎng)站:
    www.cownew.com

    posted on 2006-05-25 01:39 CowNew開源團(tuán)隊(duì) 閱讀(915) 評(píng)論(3)  編輯  收藏

    評(píng)論

    # re: java不一定就跨平臺(tái) 2006-05-25 02:22 胖老鷹
    如文中所說,類似listenerconfig=這樣的配置,存在可能混淆的因素,我覺得比較好的解決方法是要求listenerconfig=xxx,其中xxx支持URL的語法。即可以是
    file:///root、file:///c:\、classpath:com/cownew等等,這樣寫配置的人、看配置的人、以及解析的代碼中都沒有二義性,比較清晰。
    也可以增加一層假設(shè),就是沒有file、classpath的協(xié)議名字的情況下,默認(rèn)為文件路徑,如果要指定classpath路徑,要求必須使用classpath:xxxx格式。  回復(fù)  更多評(píng)論
      

    # re: java不一定就跨平臺(tái) 2006-05-25 06:36 wolfsquare
    沒了解過JDBMonitor,不過這么做就太“侵入”了。
    我原來還以為是,照原驅(qū)動(dòng)JDBC的寫法,在協(xié)議前加個(gè)標(biāo)識(shí)listenerconfig=就好,其他照舊,為什么不這樣做呢?  回復(fù)  更多評(píng)論
      

    # re: java不一定就跨平臺(tái) 2006-05-25 07:37 charon@xxx
    這個(gè)好像和java是不是跨平臺(tái)一點(diǎn)關(guān)系也沒有。
    這個(gè)題目出得也太@##$%!了  回復(fù)  更多評(píng)論
      


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 蜜桃传媒一区二区亚洲AV| 亚洲精品韩国美女在线| 亚洲精品无码你懂的| 操美女视频免费网站| 亚洲国产精品综合一区在线 | 免费人成大片在线观看播放电影 | 亚洲中文字幕第一页在线| 一级毛片完整版免费播放一区| 国产又粗又猛又爽又黄的免费视频| 亚洲国产一区二区三区在线观看| 日本免费一区二区三区最新vr| 久久亚洲AV成人无码国产电影| 免费a级毛片无码a∨性按摩| 乱爱性全过程免费视频| 亚洲一区二区三区偷拍女厕| 三级网站免费观看| 99人中文字幕亚洲区| 成年女人毛片免费播放人| 亚洲变态另类一区二区三区| 亚洲精品第一国产综合精品99| 在线播放免费人成视频在线观看| 国产成人亚洲综合一区| 国产男女猛烈无遮挡免费视频 | 久久久久久亚洲精品无码| 亚洲乱码国产一区网址| 久久国产一片免费观看| 亚洲色图在线观看| 美女视频黄免费亚洲| 国产精品亚洲色图| 亚洲中文字幕日产乱码高清app| 曰批全过程免费视频播放网站| 亚洲欧美日韩中文字幕一区二区三区| 免费人成视网站在线观看不卡| 国产va免费精品| 亚洲国产av美女网站| 亚洲?V无码成人精品区日韩| 久久免费公开视频| 亚洲色成人网站WWW永久四虎| 亚洲中文字幕无码一区二区三区| 麻豆视频免费观看| xxxxx做受大片在线观看免费|