Removing a Preference Node
Removing a preference node will remove all of the node's
descendants.
See also Determining If a Preference Node Exists.
try {
// First check to see if the node is already removed;
// otherwise, getting the node will automatically create it
boolean exists = Preferences.userRoot().nodeExists("/foo"); // false
if (!exists) {
// Get the node
Preferences prefs = Preferences.userRoot().node("/foo");
// Remove the node
prefs.removeNode();
// Trying to remove it again would cause an IllegalStateException
//prefs.removeNode();
}
// Create a node with a child
Preferences prefs = Preferences.userRoot().node("/foo/child");
exists = Preferences.userRoot().nodeExists("/foo"); // true
exists = Preferences.userRoot().nodeExists("/foo/child"); // true
// Remove the parent node
Preferences.userRoot().node("/foo").removeNode();
// Both parent and child are removed
exists = Preferences.userRoot().nodeExists("/foo"); // false
exists = Preferences.userRoot().nodeExists("/foo/child"); // false
} catch (BackingStoreException e) {
}
Post a comment