隨筆-95  評論-31  文章-10  trackbacks-0

          發布成包后,比如和包在同一目錄下有個properties文件或者有個sqlite文件數據庫,jar運行后要使用這個數據庫,同時還會時不時讀取并寫入這個properties文件,那么這個時候這個路徑怎么搞?

          public static void main(String[] args) throws IOException
              
          {
                  String path 
          = System.getProperty("user.dir");// 這個即可獲取當前項目所在磁盤路徑,那么程序里面就可以根據這個path拼接了
                  System.out.println(path);

                  
          // properties的讀寫問題,網上大多寫的不清不楚,比如這個properties里面本來就有個屬性key=A,不能隨意修改刪除!但是我還要給這個properties添加其它屬性,修改其它屬性、刪除其它屬性,怎么搞?
                  
          // 這個一不小心就覆蓋了,或者之前的properties就沒了,正確代碼如下:
                  Properties props = new Properties();
                  
          // 這里可以利用上面path找到jar包同目錄的properties文件,如果properties文件在jar里面,那么是無法修改的,因為IO流寫不到jar包里面去
                  FileInputStream fis = new FileInputStream(path + "/my.properties");
                  props.load(fis);
                  props.put(
          "key1""B"); //增加
                  props.put("key2""C"); //增加
                  props.setProperty("key1""1111"); //修改
                  props.setProperty("key2""king"); //修改
                  props.remove("key2"); //刪除
                  FileOutputStream fos = new FileOutputStream(path + "/my.properties");
                  props.store(fos, 
          "注釋");
                  fis.close();
                  fos.close();
              }

          java虛擬機可以在內存中解壓jar包,并把這個jar文件當成一個路徑,在MANIFEST.MF中至少需要兩行:
          Manifest-Version: 1.0
          Created-By: 1.6.0_20 (Sun Microsystems Inc.)

          未完

          posted on 2012-07-25 01:37 朔望魔刃 閱讀(2506) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 讷河市| 永嘉县| 登封市| 灵山县| 鹤山市| 彰化市| 岱山县| 渝中区| 五常市| 新田县| 资中县| 汶川县| 安顺市| 平南县| 县级市| 开江县| 镇巴县| 咸丰县| 宁南县| 泰和县| 高安市| 太保市| 监利县| 绥滨县| 司法| 竹溪县| 包头市| 台前县| 怀柔区| 博爱县| 波密县| 永善县| 民和| 清丰县| 曲松县| 赤城县| 长子县| 瑞金市| 济阳县| 鹰潭市| 长垣县|