<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)航:
     
    主站蜘蛛池模板: 无码国产精品一区二区免费| 欧洲乱码伦视频免费国产| 亚洲日本国产精华液| 亚洲色大成网站www尤物| 免费国产污网站在线观看| 国产亚洲精品高清在线| 亚洲AV无码久久久久网站蜜桃 | 国产片免费福利片永久| 亚洲日韩看片无码电影| selaoban在线视频免费精品| 亚洲国产成人五月综合网| 一区二区三区免费在线视频 | 久久久亚洲精品国产| 久久国产免费一区二区三区| 亚洲欧洲日产国产综合网| 日本免费一区二区久久人人澡| 国产成在线观看免费视频| 亚洲伦理中文字幕| 中国人免费观看高清在线观看二区| 亚洲综合另类小说色区色噜噜| 一级有奶水毛片免费看| 婷婷精品国产亚洲AV麻豆不片| mm1313亚洲国产精品无码试看| 伊人久久亚洲综合影院首页| 丁香花在线观看免费观看| 亚洲第一街区偷拍街拍| 最近中文字幕高清免费中文字幕mv| 亚洲第一页在线视频| 成全影视免费观看大全二| 美女隐私免费视频看| 亚洲理论电影在线观看| 另类专区另类专区亚洲| 久久久久亚洲AV无码专区网站| 99久热只有精品视频免费观看17| 久久精品国产亚洲一区二区三区| 亚洲日韩久久综合中文字幕| 亚洲成AV人网址| 国产成人亚洲毛片| 毛片a级毛片免费观看免下载 | 亚洲国产精品线观看不卡| 久久免费看少妇高潮V片特黄|