<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ù)  更多評論
      
    主站蜘蛛池模板: 免费大黄网站在线看| xx视频在线永久免费观看| 国产黄色片在线免费观看| 亚洲精品第一国产综合野| 最近2019年免费中文字幕高清| 亚洲精品乱码久久久久久按摩| 无遮挡国产高潮视频免费观看| 国产一级高清免费观看| 老司机免费午夜精品视频| 四虎成人精品在永久免费| 美女视频黄频a免费大全视频| 又粗又硬免费毛片| 一区二区三区在线观看免费| 亚洲国产成人久久综合一区77 | 亚洲一区日韩高清中文字幕亚洲| 特级aa**毛片免费观看| 亚洲综合另类小说色区色噜噜| 国产成人无码免费看片软件| 亚洲AV无码一区二区三区DV| 美女裸身网站免费看免费网站| 亚洲欧洲AV无码专区| 免费a级毛片网站| 99精品免费视频| 亚洲妓女综合网99| 国产男女性潮高清免费网站| 国产激情久久久久影院老熟女免费 | a级毛片毛片免费观看久潮| 亚洲精品免费视频| 成人免费午夜无码视频| 爱情岛论坛免费视频| 亚洲人成依人成综合网| 成人免费毛片观看| fc2免费人成在线| 久久久无码精品亚洲日韩蜜臀浪潮| 国产免费的野战视频| 国产青草亚洲香蕉精品久久| 国产午夜亚洲精品理论片不卡| 久草免费在线观看视频| 老司机免费午夜精品视频| 99ri精品国产亚洲| www.亚洲精品|