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

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

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

    千里冰封
    JAVA 濃香四溢
    posts - 151,comments - 2801,trackbacks - 0

    在我們寫程序的時候,有時會要求保存一些數(shù)據(jù),比如用戶名或者別的,但是這樣數(shù)據(jù)又不是保存在程序同一目錄下,這樣做太明顯了,也不太安全,那怎么辦呢?這個時候,如果能把數(shù)據(jù)保存到注冊表里面去,那該多好,一來隱蔽,二來方便,不至于在程序目錄下生成一大片文件.
    在JAVA里面,可以利用java.util.prefs.Preferences來對注冊表進行操作,我們先看一下例子吧

    /*
     * Test3.java
     * 
     * Created on 2007-9-20, 18:41:41
     * 
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     
    */

    package test1;

    import java.util.prefs.Preferences;

    /**
     *
     * 
    @author hadeslee
     
    */
    public class Test3 {
        
        
    public static void main(String[] args)throws Exception {
            Preferences pre
    =Preferences.systemNodeForPackage(Test3.class);
            pre.put(
    "userName""hadeslee");
            pre.putInt(
    "age"25);
            pre.flush();
            Preferences now
    =Preferences.systemNodeForPackage(Test3.class);
            System.out.println(now.get(
    "userName""為空"));
            System.out.println(now.getInt(
    "age"0));
            
        }
    }

    這是一個最簡單的例子,第一句就是根據(jù)包得到一個節(jié)點,然后把一些值放進去,可以放String,boolean,int,long,float,double等值 ,如果你想存入對象的話,可以把對象序列化成byte[],然后再存進來,然后讀也是一樣的,我們這樣操作就像是在操作一個Map一個,所有的值都是存在這個映射里面.

    那么它們保存在哪里呢?

    如果選的是systemNode...則保存在[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs]

    如果選的是userNode....   則保存在[HKEY_CURRENT_USER\Software\JavaSoft\Prefs]
    的子節(jié)點下面


    不過話又說回來,如果我們想程序跨平臺的話,這樣是不太好的,我在linux上試過,每次程序退出,我設(shè)定的值都沒有了,因為linux下面沒有像windows一樣的注冊表,不知道linux下SUN是怎么實現(xiàn)的,為了可移植性,最好還是用java.uitl.Properties這個類,根據(jù)一個文本映射文件來進行值的操作,不過它也有不好的地方,它只能存入String對象,像byte[]就存不了了,如果要存的東西太復(fù)雜的話,干脆直接用數(shù)據(jù)庫吧.:)


    盡管千里冰封
    依然擁有晴空

    你我共同品味JAVA的濃香.
    posted on 2007-09-20 19:15 千里冰封 閱讀(5220) 評論(12)  編輯  收藏 所屬分類: JAVASE

    FeedBack:
    # re: JAVA操作windows注冊表
    2007-09-20 21:39 | teasp
    good.  回復(fù)  更多評論
      
    # re: JAVA操作windows注冊表
    2007-09-21 08:10 | Pande
    java.util.prefs.Preferences是跨平臺的,linux下保存在home目錄下的一個文件里  回復(fù)  更多評論
      
    # re: JAVA操作windows注冊表
    2007-09-21 09:13 | 千里冰封
    我在ubuntu下面試了,確實是保存不了,我每次都讀不到  回復(fù)  更多評論
      
    # re: JAVA操作windows注冊表
    2007-09-21 10:28 | 辛科
    這保存在注冊表的哪個地方了???  回復(fù)  更多評論
      
    # re: JAVA操作windows注冊表
    2007-09-21 10:32 | 千里冰封
    @辛科
    如果選的是systemNode...則保存在[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs]

    如果選的是userNode....則保存在
    [HKEY_CURRENT_USER\Software\JavaSoft\Prefs]
    的子節(jié)點下面  回復(fù)  更多評論
      
    # re: JAVA操作windows注冊表
    2007-09-21 11:51 | 蔣家狂潮
    新鮮,收藏了  回復(fù)  更多評論
      
    # re: JAVA操作windows注冊表
    2007-09-23 11:26 | jht
    呵呵,挺意思  回復(fù)  更多評論
      
    # re: JAVA操作windows注冊表
    2007-09-24 11:11 | Ming
    先收藏了,用時再細看  回復(fù)  更多評論
      
    # re: JAVA操作windows注冊表
    2007-12-28 15:23 | d
    sddsdddd  回復(fù)  更多評論
      
    # re: JAVA操作windows注冊表
    2008-05-09 19:26 | heavens
    覺得用jni更好些,java自帶的prefs包太受局限了  回復(fù)  更多評論
      
    # re: JAVA操作windows注冊表
    2008-12-03 23:20 | mykoma
    這是第二次來到您的博客...

    只能說:很厲害  回復(fù)  更多評論
      
    # re: JAVA操作windows注冊表
    2008-12-03 23:21 | mykoma
    希望您能夠加點注釋..那樣看著會更容易懂  回復(fù)  更多評論
      
    主站蜘蛛池模板: 性感美女视频在线观看免费精品| 日批日出水久久亚洲精品tv| 美女视频黄免费亚洲| 国产小视频在线观看免费| 最近免费mv在线观看动漫| 亚洲乱码卡三乱码新区| vvvv99日韩精品亚洲| 日本一卡精品视频免费| 亚洲爆乳AAA无码专区| 日本亚洲视频在线 | 国产在线观看免费观看不卡 | 男女午夜24式免费视频| 亚洲性无码AV中文字幕| 亚洲第一AV网站| 国产精品无码一二区免费| 亚洲免费在线视频| 无人视频免费观看免费视频| 亚洲成aⅴ人片在线观| 国产亚洲AV手机在线观看| 一个人免费高清在线观看| 鲁丝片一区二区三区免费| 国产成人综合亚洲一区| 亚洲国产成人在线视频| 九月丁香婷婷亚洲综合色| 国产资源免费观看| 99久久99这里只有免费费精品| 一级黄色片免费观看| 亚洲精品亚洲人成在线| 亚洲精品视频免费看| 亚洲精品无码午夜福利中文字幕 | 亚洲人成在线免费观看| 亚洲精品色午夜无码专区日韩| 国产无遮挡吃胸膜奶免费看| 222www在线观看免费| 99精品视频免费| 免费无遮挡无遮羞在线看| 亚洲日韩精品无码专区加勒比 | 在线a亚洲v天堂网2019无码| 日本一道在线日本一道高清不卡免费 | 四虎影视永久在线精品免费| 亚洲综合无码无在线观看|