1
我想要打印首選節點的子節點。我已經寫了下面的代碼:打印首選節點的子節點
private void printOracleDefaults() {
Preferences p = Preferences.userRoot();
p = p.node("/HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE");
try {
for(String s : p.childrenNames())
System.out.println(s);
} catch (BackingStoreException e) {
//bla bla..
e.printStackTrace();
}
}
上述方法,不打印任何東西,儘管甲骨文已經兒童:
什麼我做錯了或誤解?
UPDATE:
我寫p = p.node("HKEY_LOCAL_MACHINE/SOFTWARE");
,而不是
p = p.node("HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE");
,當我打印的p
的兒童我:ORACLE
!這怎麼可能?那麼其他所有的孩子呢? (有..我通過註冊表編輯器看到它們)
看起來它存儲了上一次運行時附加在/SOFTWARE
旁邊的先前值。
我也試過了,但它仍然不起作用。 – Maroun
你沒有添加一個斜槓? – Swapnil
不,我鍵入:'p = p.node(「HKEY_LOCAL_MACHINE \\ SOFTWARE \\ ORACLE」);' – Maroun