com.sun.tools.javac.Launcher中使用Preferences操作Windows注册表

OpenJDK javac中com.sun.tools.javac.Launcher有以下代码,在Windows平台上使用注册表来保存上次打开的路径信息,以下是代码片段:

Preferences prefs = Preferences.userNodeForPackage(Launcher.class);
if (args.length > 0)
fileChooser = new JFileChooser(args[0]);
else {
// prefs可以在注册表中缓存上次打开的文件路径,
// 具体参考java.util.prefs.AbstractPreferences的get和put方法
String fileName = prefs.get("recent.file", null);
fileChooser = new JFileChooser();
if (fileName != null) {
fileChooser = new JFileChooser();
fileChooser.setSelectedFile(new File(fileName));
}
}
if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
String fileName = fileChooser.getSelectedFile().getPath();
// 将fileName放入了注册表中,
// 我的测试代码在我的机器上产生的注册表信息是这样的:
// HKEY_USERS\S-1-5-21-2927120809-1180443650-1650080734-1000\Software\JavaSoft\Prefs\com\sun\tools\javac
// 名称: recent.file
// 数据: /D:///Workspace///Eclipse//workspace///Compiler_javac//test-files//java-files///For/Launcher_trace.java
prefs.put("recent.file", fileName);


注册表:

[img]http://dl.iteye.com/upload/attachment/0068/3851/23dc01a3-561a-3adc-90b8-a6511ded6f4b.gif[/img]

[color=red]注意:com.sun.tools.javac.Launcher这个类在JDK1.6内不是有效的,默认情况下它不会被编译进tools.jar,JDK1.7版本中tools.jar中已经有这个类了[/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值