java 我的文档_在Java中获取我的文档路径

小编典典

您可以使用注册表查询来获取它,而无需JNA或管理员权限。

Runtime.getRuntime().exec("reg query \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell

Folders\" /v personal");

显然,这将在Windows以外的任何其他版本上失败,并且我不确定这是否适用于Windows XP。

编辑:将其放入代码的工作序列中:

String myDocuments = null;

try {

Process p = Runtime.getRuntime().exec("reg query \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\" /v personal");

p.waitFor();

InputStream in = p.getInputStream();

byte[] b = new byte[in.available()];

in.read(b);

in.close();

myDocuments = new String(b);

myDocuments = myDocuments.split("\\s\\s+")[4];

} catch(Throwable t) {

t.printStackTrace();

}

System.out.println(myDocuments);

请注意,这将锁定该过程,直到完成“ reg查询”为止,这可能会导致麻烦,具体取决于您在做什么。

2020-09-26

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值