OPERATING SYSTEM(S):
SLES9 SP1 with zh_CN.GB18030 locale
RHEL4 with zh_CN.GB18030 locale
FULL JDK VERSION(S):
$java -version
java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode)
DESCRIPTION:
- Exact steps to reproduce
1. Compile and run testcase "java PrefTest"
2. Query saved name by issue "java PrefTest -q"
3. Terminal print out the following message:
WARNING: Invalid preferences format in $HOME/.java/.userPrefs/mynode/myKey/prefs.xml
You name is NOT DEFINED.
2005-8-5 2:42:58 java.util.prefs.FileSystemPreferences$7 run
WARNING: Prefs file removed in background $HOME/.java/.userPrefs/mynode/myKey/prefs.xml
- Minimal source code that demonstrates the problem
/*
* PrefTest.java
* - A sample program for Preferences class
*/
import java.util.prefs.*;
import java.awt.event.*;
public class PrefTest {
static private String ourNodeName = "/mynode/myKey";
static private String key = "myName";
static void setName(String name) {
Preferences prefs = Preferences.userRoot().node(ourNodeName);
prefs.put(key, name);
}
static void getName() {
Preferences prefs = Preferences.userRoot().node(ourNodeName);
String myName = prefs.get(key, "");
if (myName.equals("")) {
System.out.println("You name is NOT DEFINED.");
} else {
System.out.println("Your name is " + myName + ".");
}
}
static void removeName() {
Preferences prefs = Preferences.userRoot().node(ourNodeName);
prefs.remove(key);
}
public static void main(String[] args) {
if (args.length > 0) {
if (args[0].equals("-q")) {
PrefTest.getName();
} else if (args[0].equals("-r")) {
PrefTest.removeName();
}
} else {
PrefTest.setName("\ud840\udc00");
}
}
}
- Exact text of any error messages
WARNING: Invalid preferences format in $HOME/.java/.userPrefs/mynode/myKey/prefs.xml
You name is NOT DEFINED.
2005-8-5 2:42:58 java.util.prefs.FileSystemPreferences$7 run
WARNING: Prefs file removed in background $HOME/.java/.userPrefs/mynode/myKey/prefs.xml