2014-02-26 28 views
1

我有以下代码:偏好文件位置

Preferences prefs = Preferences.userRoot().node("c:/test.txt"); 
System.out.println(prefs.get("aa", "not found")); 
prefs.put("aa", "bb"); 

工作正常(第一次显示“未发现”,并显示“BB”后)。

但我无法找到我的test.txt文件。

任何想法它在哪里?

+0

是什么让你认为这段代码会创建一个文件test.txt?您刚刚命名了首选项树的一个节点,并将其存储在特定于操作系统的后台存储(Windows注册表AFAIK)'c:/test.txt'中。阅读API文档。 –

+0

好吧,我被一个说prefs = Preferences.userRoot()。node(config.storageFileName)的代码误导了;'所以我认为它是一个实际的文件..我的错误。 –

回答

1

Java Preferences没有存储在文件中(要做到这一点,你应该使用OutputStream - Preferences.exportNode(OutputStream stream);手动转储它们)。在Windows上,它们存储在HKEY_CURRENT_USER\Software\JavaSoft\Prefs之下。所以你会在它下面找到节点“c:\”和节点“test.txt”。

+0

是的,确实是入口在那里。我被这段代码误导了'Preferences.userRoot()。node(config.storageFileName);'所以我正在寻找一个实际的文件。 –