java下操作注冊(cè)表方法.doc_第1頁(yè)
java下操作注冊(cè)表方法.doc_第2頁(yè)
java下操作注冊(cè)表方法.doc_第3頁(yè)
java下操作注冊(cè)表方法.doc_第4頁(yè)
java下操作注冊(cè)表方法.doc_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

使用Java操作注冊(cè)表 博客分類(lèi): Java JavaJNIJDK1 使用JDK的 Preferences類(lèi) 有兩個(gè)局限性 A JDK1.4以及以后版本才有 B 只能操作注冊(cè)表中的固定部分 HKEY_LOCAL_MACHINESOFTWAREJavaSoftPrefs 2 通過(guò) JNI 的 ICE_JNIRegistry.dll /java/jnireg/index.shtml JDK1.4下實(shí)現(xiàn)訪(fǎng)問(wèn)WIN32注冊(cè)表 WindowsIBM數(shù)據(jù)結(jié)構(gòu)編程.netJava語(yǔ)言就以其平臺(tái)獨(dú)立性而受到了許多編程者的選擇,如果讓它來(lái)操作注冊(cè)表的話(huà),好像就失去了它的這個(gè)特點(diǎn),然而在實(shí)際的編程中,有時(shí)候我們很需要在注冊(cè)表中存儲(chǔ)軟件的有關(guān)信息,以方便下次啟動(dòng)的時(shí)候初始化或者檢查注冊(cè)信息(假設(shè)我們?cè)趙indows平臺(tái)下)!那么究竟用java可以操作windows的注冊(cè)表嗎?從JDK1.4起提供了java.util.prefs包,其中有一個(gè)Preferences類(lèi),能幫助我們實(shí)現(xiàn)對(duì)系統(tǒng)注冊(cè)表進(jìn)行操作,Preferences類(lèi)在不同的平臺(tái)中有不同的實(shí)現(xiàn)方式。而在Windows平臺(tái)中,Preferences是將數(shù)據(jù)保存在注冊(cè)表中的,而在其它平臺(tái)中有的是存儲(chǔ)在文件中、目錄服務(wù)或數(shù)據(jù)庫(kù)中。但不管怎樣,都是通過(guò)相同的接口來(lái)使用的,程序員可以不管具體的存儲(chǔ)實(shí)現(xiàn)細(xì)節(jié)。 最后再說(shuō)明幾點(diǎn):1:你的節(jié)點(diǎn)的首字母不要大寫(xiě),不然在注冊(cè)表中的項(xiàng)前就加了一個(gè)“/”;2:注冊(cè)表中的值也可以導(dǎo)入到一個(gè)XML文件中,具體方法見(jiàn)有關(guān)文檔.3:如果把代碼中的Preferences pre = Preferences.systemRoot().node(/javaplayer); 換成Preferences pre = Preferences.userRoot().node(/javaplayer);則相應(yīng)的 HKEY_LOCAL_MACHINE就成為HKEY_LOCAL_USER在Windows平臺(tái)中,用戶(hù)參數(shù)項(xiàng)在注冊(cè)表中的根節(jié)點(diǎn)是HKEY_CURRENT_USERSoftwareJavaSoftPrefs;系統(tǒng)參數(shù)項(xiàng)在注冊(cè)表中的根節(jié)點(diǎn)是 HKEY_LOCAL_MACHINESOFTWAREJavaSoftPrefs;而我們指定的節(jié)點(diǎn)路徑是位于這些根節(jié)點(diǎn)之下的。java不能直接任意操作windows注冊(cè)表,其中java.util.prefs中的Preferences類(lèi)只可以操作部分注冊(cè)表,Preferences.systemRoot()獲得的根目錄不是注冊(cè)表的根目錄(eg:HKEY_CLASSES_ROOT),而是java自定義的一個(gè)系統(tǒng)目錄“/”(比如:可能“/”=HKEY_CURRENT_USERSoftwareJavaSoftPrefs)。下面的類(lèi)可以實(shí)現(xiàn)在HKEY_CURRENT_USERSoftwareJavaSoftPrefs下添加一個(gè)項(xiàng)zzti和項(xiàng)的值,并將所添加的信息保存到zzti.xml文件中.import java.util.prefs.*;import java.io.*;class TestRegeditpublic static void main(String args)Preferences myNode=Preferences.userRoot().node(zzti);System.out.println(myNode.absolutePath();String keys=com,name,age;String values=IBM,gongshi,20;for(int i=0;ikeys.length;i+) myNode.put(keys,values);trymyNode.exportNode(new FileOutputStream(new File(zzti.xml);catch(Exception e) e.printStackTrace();/以下部分實(shí)現(xiàn)的是刪除注冊(cè)表中的一項(xiàng)/*try myNode.removeNode(); catch(BackingStoreException e) e.printStackTrace(); */為 Java 1.4 增加的 java.util.prefs 包,通過(guò)提供對(duì)特定于實(shí)現(xiàn)的注冊(cè)表(例如,Windows 平臺(tái)上的 Windows 注冊(cè)表)的訪(fǎng)問(wèn)能力,使您能夠操作用戶(hù)首選項(xiàng)數(shù)據(jù)和配置數(shù)據(jù)。您是不是曾經(jīng)需要保存程序的配置數(shù)據(jù)但卻不知應(yīng)將數(shù)據(jù)存儲(chǔ)在哪里? 雖然您可以使用屬性文件或資源束獲取這些信息,但 Java 平臺(tái)從未指定過(guò)用于存儲(chǔ)這些文件的標(biāo)準(zhǔn)位置。JSR 10 出現(xiàn)后一切都變了,它為 Java 1.4 API 提供增加的 java.util.prefs 包。存儲(chǔ)機(jī)制是特定于實(shí)現(xiàn)的細(xì)節(jié),但程序員不必知道,也不必操心。對(duì)于 Windows 平臺(tái),它的位置是在“Windows 注冊(cè)表”。 您雖然不能夠?qū)ψ?cè)表自由控制,但您的確可以通過(guò)一個(gè)公共根節(jié)點(diǎn)訪(fǎng)問(wèn)所有的應(yīng)用程序。開(kāi)始命名很恰當(dāng)?shù)?Preferences 類(lèi)提供操作首選項(xiàng)的基本框架。這個(gè)類(lèi)提供了一系列靜態(tài)和抽象方法來(lái)操作兩套首選項(xiàng)(其中一套是用戶(hù)首選項(xiàng),另一套是系統(tǒng)首選項(xiàng))中的其中一套。 使用靜態(tài)方法,您會(huì)得到一個(gè)特定于平臺(tái)的實(shí)現(xiàn),就象 WindowsPreferences 類(lèi); 然后您可以使用由這個(gè)特定于平臺(tái)的實(shí)現(xiàn)實(shí)現(xiàn)的抽象方法來(lái)做這項(xiàng)工作。用包將程序的首選項(xiàng)分組是個(gè)好習(xí)慣,可以避免與其它應(yīng)用程序的命名沖突。 當(dāng)您查找 Preferences 對(duì)象時(shí),只需傳遞包的名稱(chēng)。在使用非靜態(tài)方法時(shí), 您可以傳遞對(duì)自身的引用(this),程序?qū)槟_定查找的是哪個(gè)包,如清單 1 所示。清單 1. 從非靜態(tài)方法獲取 Preferences 對(duì)象 Preferences userPrefs = Preferences.userNodeForPackage(this);Preferences sysPrefs = Preferences.systemNodeForPackage(this);但是,如果您使用的是靜態(tài)方法,您就必須得到根節(jié)點(diǎn)并自己提供包,如清單 2 所示。清單 2. 從靜態(tài)方法獲取 Preferences 對(duì)象 Preferences userPrefs = Preferences.userRoot().node(/net/zukowski/ibm);Preferences sysPrefs = Preferences.systemRoot().node(/net/zukowski/ibm);有了進(jìn)行操作的節(jié)點(diǎn)后,您就可以輕松地設(shè)置、獲取、除去和轉(zhuǎn)儲(chǔ)設(shè)置選項(xiàng)。只要把 Preferences 對(duì)象當(dāng)作一個(gè)大的鍵 值散列表(這個(gè)表把樹(shù)形結(jié)構(gòu)中的鍵組織起來(lái))??伤皇恰凹峡蚣堋保?Collections Framework)的部件,(關(guān)于“集合框架”的更多信息,請(qǐng)參閱參考資料)。作者:peter出處:論壇責(zé)任編輯: 方舟 2003-10-15 12:03 為Java 1.4增加的java.util.prefs包提供了注冊(cè)表的訪(fǎng)問(wèn)能力寫(xiě)數(shù)據(jù)我們將從討論如何存儲(chǔ)首選項(xiàng)開(kāi)始。Preferences 類(lèi)提供一系列 put() 方法,如下所示,用于存儲(chǔ)值。除支持基本的字符串之外,您還可以存儲(chǔ)布爾值、雙精度數(shù)、浮點(diǎn)數(shù)、整型數(shù)、長(zhǎng)整型數(shù)和字節(jié)數(shù)組(考慮序列化)。助手方法采用適當(dāng)?shù)臄?shù)據(jù)類(lèi)型并執(zhí)行必要的轉(zhuǎn)換以便將數(shù)據(jù)存儲(chǔ)為字符串。put(String key, String value) putBoolean(String key, boolean value) putByteArray(String key, byte value) putDouble(String key, double value) putFloat(String key, float value) putInt(String key, int value) putLong(String key, long value)所有的 put() 方法都返回一個(gè) void。如果存儲(chǔ)機(jī)制不可用,將拋出一個(gè)BackingStoreException。注意:一個(gè)特定首選項(xiàng)的鍵長(zhǎng)度被限制為 Preferences.MAX_KEY_LENGTH(80)個(gè)字符,而它的值被限制為 Preferences.MAX_VALUE_LENGTH(8192)個(gè)字符。讀數(shù)據(jù)可通過(guò)下面所示的一系列 get() 方法獲取特定的首選項(xiàng)。與寫(xiě)數(shù)據(jù)相似,每種受支持的數(shù)據(jù)類(lèi)型,都有自己的與眾不同的方法。但與獲取數(shù)據(jù)時(shí)不同的是,在備用存儲(chǔ)不可用,或有些東西尚未保存時(shí)您必須提供缺省值。這要求您確保自己的程序至少要有合理的缺省設(shè)置選項(xiàng)。get(String key, String default) getBoolean(String key, boolean default) getByteArray(String key, byte default) getDouble(String key, double default) getFloat(String key, float default) getInt(String key, int default) getLong(String key, long default)如果您對(duì)首選項(xiàng)名稱(chēng)不確定,您可以用 keys() 方法查找一列與節(jié)點(diǎn)相關(guān)聯(lián)的鍵。這個(gè)方法返回節(jié)點(diǎn)的 String。 除獲取和存儲(chǔ)個(gè)別首選項(xiàng)以及獲取一列關(guān)鍵字之外,您還可以用 clear()、remove() 和 removeNode() 除去節(jié)點(diǎn)和值。轉(zhuǎn)儲(chǔ)數(shù)據(jù)如果您想在系統(tǒng)提供的備用存儲(chǔ)器之外保存和恢復(fù)首選項(xiàng),您可以在 XML 格式的文檔中執(zhí)行這些操作。您可以用 exportNode() 導(dǎo)出一個(gè)節(jié)點(diǎn)或用 exportSubtree() 導(dǎo)出整個(gè)子樹(shù)。信息以 UTF-8 格式存儲(chǔ)。然后,當(dāng)您想恢復(fù)信息時(shí),可使用 importPreferences() 方法。偵聽(tīng)“好奇心會(huì)害死一只貓”,但如果您對(duì)弄清除首選項(xiàng)何時(shí)改變很感興趣,您可以注冊(cè)一個(gè) NodeChangeListener 或 PreferenceChangeListener,而不考慮隨之而來(lái)的后果。NodeChangeListener 負(fù)責(zé)通知您節(jié)點(diǎn)被添加和除去的時(shí)間, 而 PreferenceChangeListener 告訴您值的變化。這些都緊跟著基本 JavaBeans 組件事件用 add/removeNodeChangeListener(NodeChangeListener) 和 add/removePreferenceChangeListener() 方法處理結(jié)構(gòu)之后發(fā)生?;旧希葘?shí)現(xiàn)偵聽(tīng)器,然后注冊(cè)偵聽(tīng)器,這樣您會(huì)發(fā)現(xiàn)將來(lái)的變化。作者:peter出處:論壇責(zé)任編輯: 方舟 2003-10-15 12:03 為Java 1.4增加的java.util.prefs包提供了注冊(cè)表的訪(fǎng)問(wèn)能力完整的示例真的就這些。清單 3 為您提供了一個(gè)完整的示例來(lái)試驗(yàn)新功能(也可從參考資料下載)。程序運(yùn)行后會(huì)自己清除,所以如果您想在注冊(cè)表中找到值,請(qǐng)注釋掉程序尾部的清除代碼。清單 3. 完整的示例 package net.zukowski.ibm;import java.io.*;import java.util.prefs.*;public class Prefs public static void main(String args) String denominations = One, Two, Five, Ten, Twenty;String pictures = Washington, Jefferson, Lincoln, Hamilton, Jackson;NodeChangeListener nodeChangeListener = new NodeChangeListener() public void childAdded(NodeChangeEvent event) Preferences parent = event.getParent();Preferences child = event.getChild();System.out.println(() + has a new child +();public void childRemoved(NodeChangeEvent event) Preferences parent = event.getParent();Preferences child = event.getChild();System.out.println(() + lost a child +();PreferenceChangeListener preferenceChangeListener = new PreferenceChangeListener() public void preferenceChange(PreferenceChangeEvent event) String key = event.getKey();String value = event.getNewValue();Preferences node = event.getNode();System.out.println(() + now has a value of + value + for + key);/ Look up user rootPreferences prefs = Preferences.userRoot().node(/net/zukowski/ibm);/ Add listenersprefs.addNodeChangeListener(nodeChangeListener);prefs.addPreferenceChangeListener(preferenceChangeListener);/ Save a bunch of key-value pairsfor (int i=0, n=denominations.length; i n; i+) prefs.put(denominationsi, picturesi);/ Display all the entriestry String keys = prefs.keys();for (int i=0, n=keys.length; i n; i+) System.out.println(keysi + : + prefs.get(keysi, Unknown); catch (BackingStoreException e) System.err.println(Unable to read backing store: + e);/ Create childPreferences child = Preferences.userRoot().node(/net/zukowski/ibm/foo);/ Save to XML filetry FileOutputStream fos = new FileOutputStream(prefs.out);prefs.exportNode(fos); catch (Exception e) System.err.println(Unable to export nodes: + e);/ Clean uptry prefs.removeNode(); catch (BackingStoreException e) System.err.println(Unable to access backing store: + e);因?yàn)橐?cè)表里存值,以前也一直沒(méi)有接觸過(guò)用程序去操作注冊(cè)表,所以找了一天的資料,算是搞明白了,用java操作注冊(cè)表還是不方便,不能讓鍵值大寫(xiě),不能改最根部的目錄實(shí)現(xiàn)代碼如下:Java代碼 1. packagebean; 2. importjava.util.prefs.Preferences; 3. 4. publicclassSystemDrawInvoicePrefsBean 5. 6. publicbooleanisSystemInvoiceInsertBegin(longinvoiceNumberBegin) 7. 8. booleanTrueOrFalse=false; 9. Stringkeys=fps;/這里不能大寫(xiě),一大寫(xiě)注冊(cè)表里就會(huì)在大寫(xiě)的字母前加個(gè)“/” 10. 11. longvalues=invoiceNumberBegin; 12. 13. /*建立一個(gè)位于userroot下的/zldzjc/FPS節(jié)點(diǎn)參數(shù)項(xiàng)*/14. Preferencesprefs=Preferences.userRoot().node(/zldzjc/fps);/同樣不能大寫(xiě) 15. 16. /*儲(chǔ)存參數(shù)項(xiàng)*/17. for(inti=0;ikeys.length;i+) 18. 19. prefs.putLong(keysi,valuesi);/輸入的是StringString型的還是StringLong型,都行,隨意改 20. TrueOrFalse=true; 21. 22. returnTrueOrFalse; 23. 24. 25. 26. publicbooleanisSystemInvoiceInsertStop(longinvoiceNumberStop) 27. 28. booleanTrueOrFalse=false; 29. Stringkeys=fpz; 30. longvalues=invoiceNumberStop; 31. 32. /*建立一個(gè)位于userroot下的/zldzjc/FPS節(jié)點(diǎn)參數(shù)項(xiàng)*/33. Preferencesprefs=Preferences.userRoot().node(/zldzjc/fpz); 34. 35. /*儲(chǔ)存參數(shù)項(xiàng)*/36. for(inti=0;ikeys.length;i+) 37. 38. prefs.putLong(keysi,valuesi); 39. TrueOrFalse=true; 40. 41. returnTrueOrFalse; 42. 43. 44. /*導(dǎo)出到XML文件*/45. /try 46. / 47. /FileOutputStreamfos=newFileOutputStream(prefs.xml);/可以把實(shí)現(xiàn)的功能存儲(chǔ)到xml里 48. /prefs.exportNode(fos); 49. / 50. /catch(Exceptione) 51. / 52. /System.err.println(Cannotexportnodes:+e); 53. / 54. 55. /*去掉注釋可以清除注冊(cè)表中的參數(shù)項(xiàng)*/56. /*try 57. 58. prefsdemo.removeNode(); 59. 60. catch(BackingStoreExceptione) 61. 62. */ 63. package bean;import java.util.prefs.Preferences;public class SystemDrawInvoicePrefsBean public boolean isSystemInvoiceInsertBegin(long invoiceNumberBegin) boolean TrueOrFalse = false ; String keys = fps;/這里不能大寫(xiě),一大寫(xiě)注冊(cè)表里就會(huì)在大寫(xiě)的字母前加個(gè)“/” long values = invoiceNumberBegin; /* 建立一個(gè)位于user root下的/zldzjc/FPS節(jié)點(diǎn)參數(shù)項(xiàng)*/ Preferences prefs = Preferences.userRoot().node(/zldzjc/fps);/同樣不能大寫(xiě) /* 儲(chǔ)存參數(shù)項(xiàng)*/ for (int i=0 ; i keys.length; i+) prefs.putLong(keysi, valuesi);/輸入 的是String String型的還是String Long型,都行,隨意改 TrueOrFalse = true ; return TrueOrFalse ; public boolean isSystemInvoiceInsertStop(long invoiceNumberStop) boolean TrueOrFalse = false ; String keys = fpz; long values = invoiceNumberStop; /* 建立一個(gè)位于user root下的/zldzjc/FPS節(jié)點(diǎn)參數(shù)項(xiàng)*/ Preferences prefs = Preferences.userRoot().node(/zldzjc/fpz); /* 儲(chǔ)存參數(shù)項(xiàng)*/ for (int i=0 ; i keys.length; i+) prefs.putLong(keysi, valuesi); TrueOrFalse = true ; return TrueOrFalse ; /* 導(dǎo)出到XML文件 */ try/ / FileOutputStream fos = new FileOutputStream(prefs.xml);/可以把實(shí)現(xiàn)的功能存儲(chǔ)到xml里/ prefs.exportNode(fos);/ / catch (Exception e)/ / System.err.println(Cannot export nodes: + e);/ /* 去掉注釋可以清除注冊(cè)表中的參數(shù)項(xiàng)*/ /*try prefsdemo.removeNode(); catch (BackingStoreException e) */ 由于java程序是“write once, run everywhere”,用java讀寫(xiě)注冊(cè)表,那程序的跨平臺(tái)性就差了。java對(duì)注冊(cè)表的操作,在jdk1.4以前的版本中,那是不可能的,只能用JNI來(lái)實(shí)現(xiàn);然而jdk1.4之后提供的prefs包可以操作windows注冊(cè)表,不過(guò)定死了root只在SOFTWARE/JavaSoft/prefs下,估計(jì)也是出于這種兩難吧,又要保證所謂平臺(tái)無(wú)關(guān),還要照顧大家對(duì)windows的依賴(lài)。下面將從兩方面來(lái)介紹對(duì)注冊(cè)表的操作。一、使用JDK提供的Preferences類(lèi)首先得到Preferences的一個(gè)對(duì)象,這個(gè)對(duì)象就規(guī)定了你要在注冊(cè)表的哪個(gè)位置寫(xiě)入信息,即節(jié)點(diǎn).然后再用put(String key,String value)或者putInt(),tDouble().等來(lái)給有關(guān)項(xiàng)賦值。下面是Demo程序。Java代碼 1. importjava.util.prefs.*; 2. publicclassRegistery 3. Stringkeys=version,initial,creator; 4. Stringvalues=1.3,ini.mp3,; 5. /把相應(yīng)的值儲(chǔ)存到變量中去 6. publicvoidwriteValue() 7. /HKEY_LOCAL_MACHINESoftwareJavaSoftprefs下寫(xiě)入注冊(cè)表值. 8. Preferencespre=Preferences.systemRoot().node(/javaplayer); 9. for(inti=0;ikeys.length;i+) 10. pre.put(keys,values); 11. 12. 13. publicstaticvoidmain(Stringargs) 14. Registeryreg=newRegistery(); 15. reg.writeValue(); 16. 17. import java.util.prefs.*;public class Registery String keys = version, initial, creator; String values = 1.3, ini.mp3, ; /把相應(yīng)的值儲(chǔ)存到變量中去 public void writeValue() / HKEY_LOCAL_MACHINESoftwareJavaSoftprefs下寫(xiě)入注冊(cè)表值. Preferences pre = Preferences.systemRoot().node(/javaplayer); for (int i = 0; i Project Properties-Required Libraries中添加jRegistryKey.jar或在環(huán)境變量classpath中添加該jar文件;2、將jRegistryKey.dll放在工程的當(dāng)前目錄下;3、在訪(fǎng)問(wèn)注冊(cè)表類(lèi)中import該語(yǔ)句:import ca.beq.util.win32.registry.*; 該包中有兩個(gè)類(lèi):RegistryKey和RegistryValue。其中RegistryKey是注冊(cè)表鍵的java表示,它提供了creat()和delete()方法創(chuàng)建和刪除key,枚舉子鍵和值,set和get鍵的值等;RegistryValue is the Java? representation of a registry value (defined as a name, a type, and data).4、創(chuàng)建一個(gè)新key: Java代碼 1. RegistryKeyr=newRegistryKey(RootKey.HKEY_CURRENT_USER,SoftwareBEQTechnologies); 2. r.create();RegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, SoftwareBEQ Technologies);r.create();5、創(chuàng)建一個(gè)子鍵:Java代碼 1. RegistryKeyr=newRegistryKey(RootKey.HKEY_CURRENT_USER,Software); 2. r.createSubkey(BEQTechnologies);RegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, Software);r.createSubkey(BEQ Technologies);6、刪除一個(gè)已存在的鍵值:try RegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, SoftwareBEQ Technologies); r.delete(); / trycatch(RegistryException re) re.printStackTrace(); / catch7、枚舉子鍵:Java代碼 1. RegistryKeyr=newRegistryKey(RootKey.HKEY_CURRENT_USER,Software); 2. if(r.hasSubkeys() 3. Iteratori=r.subkeys(); 4. while(i.hasNext() 5. RegistryKeyx=(RegistryKey)i.next(); 6. System.out.println(x.toString(); 7. /while 8. /ifRegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, Software);if(r.hasSubkeys() Iterator i = r.subkeys(); while(i.hasNext() RegistryKey x = (RegistryKey)i.next(); System.out.println(x.toString(); / while / if8、讀注冊(cè)表中鍵的值:Java代碼 1. RegistryKeyr=newRegistryKey(RootKey.HKEY_CURRENT_USER,SoftwareBEQTechnologies); 2. if(r.hasValue(myValue) 3. RegistryValuev=r.getValue(myValue); 4. System.out.println(v.toString();/ 5. /ifRegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, SoftwareBEQ Technologies);if(r.hasValue(myValue) RegistryValue v = r.getValue(myValue); System.out.println(v.toString();/ / if注:v.toString()僅是鍵myValue對(duì)應(yīng)的鍵值,若要得到myValue鍵對(duì)應(yīng)的值數(shù)據(jù),則需要String str = v.getDate().toSting();9、設(shè)置注冊(cè)表中鍵的值:Java代碼 1. RegistryKeyr=newRegistryKey(RootKey.HKEY_CURRENT_USER,SoftwareBEQTechnologies); 2. RegistryValuev=newRegistryValue(myVal,ValueType.REG_SZ,data); 3. r.setValue(v);RegistryKey r = new RegistryKey(RootKey.HKEY_CURRENT_USER, SoftwareBEQ Technologies);RegistryValue v = new RegistryValue(myVal, ValueType.REG_SZ, data);r.setValue(v);10、枚舉某鍵的所有值:Java代碼 1. RegistryKeyr=newRegistryKey(RootKey.HKEY_CURRENT_USER,Software); 2. if(r.hasValues() 3. Iteratori=r.values(); 4. while(i.hasNext() 5. RegistryV

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論