<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來對注冊表進(jìn)行操作,我們先看一下例子吧

    /*
     * 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é)點,然后把一些值放進(jìn)去,可以放String,boolean,int,long,float,double等值 ,如果你想存入對象的話,可以把對象序列化成byte[],然后再存進(jìn)來,然后讀也是一樣的,我們這樣操作就像是在操作一個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ù)一個文本映射文件來進(jìn)行值的操作,不過它也有不好的地方,它只能存入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
    先收藏了,用時再細(xì)看  回復(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ù)  更多評論
      
    主站蜘蛛池模板: 亚洲综合国产一区二区三区| 亚洲精品无码久久久影院相关影片| 自拍偷区亚洲国内自拍| 中文字幕无码免费久久99| 亚洲国产精品成人AV在线| 亚洲av不卡一区二区三区| 亚洲国产中文v高清在线观看| 精品一卡2卡三卡4卡免费视频| 亚洲综合一区二区精品久久| 久久精品国产亚洲5555| 在线观看免费大黄网站| jizz日本免费| 青草青草视频2免费观看| 中文日韩亚洲欧美制服| 久久精品国产亚洲av日韩 | 四虎国产精品免费久久| av永久免费网站在线观看| 国产午夜亚洲精品不卡| 亚洲另类无码专区首页| 亚洲日韩中文字幕天堂不卡| 亚洲AV永久无码精品水牛影视 | 亚洲欧洲日韩在线电影| 久久夜色精品国产亚洲AV动态图| 四虎永久在线精品免费网址| 最近中文字幕免费完整| 久久成人免费播放网站| 久久免费区一区二区三波多野| 亚洲av中文无码字幕色不卡| 亚洲人成人一区二区三区| 亚洲一区二区三区无码影院| 免费在线观看你懂的| 免费A级毛片无码A∨男男| 精品成在人线AV无码免费看| 足恋玩丝袜脚视频免费网站| 中文字幕在线免费观看| 2019中文字幕免费电影在线播放| 一级毛片大全免费播放| 一级毛片免费一级直接观看| 国产精品hd免费观看| 国内精品免费在线观看| 一区二区三区免费视频观看|