当前位置: 首页 > 面试题库 >

在Java中获取我的文档路径

公西兴业
2023-03-14
问题内容

我需要使用Java查找我的文档路径。以下代码没有给我“准确”的定位

System.getProperty("user.home");

反过来应该怎么办?

PS:我不想使用JFileChooser Dirty技巧。


问题答案:

您可以使用注册表查询来获取它,而无需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查询”为止,这可能会导致麻烦,具体取决于您在做什么。



 类似资料:
  • 本文向大家介绍获取Java中文件的绝对路径,包括了获取Java中文件的绝对路径的使用技巧和注意事项,需要的朋友参考一下 方法java.io.File.getAbsolutePath()用于获取字符串形式的文件的绝对路径。此方法不需要任何参数。 演示此的程序如下所示- 示例 上面程序的输出如下- 输出结果 现在让我们了解上面的程序。 使用方法java.io.File.getAbsolutePath(

  • 在我们仔细处理之后。我仍然无法获取自动生成的文档ID。没有“then”选项。我的代码: 创建后如何获取ID?

  • Elasticsearch 提供实时获取文档的方法。这意味着只要文档被索引且客户端收到消息确认后,你就可以立即在任何的分片中检索文档。Get 操作通过 index/type/id 方式请求一个文档信息: $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id' ]; // Get doc

  • 问题内容: 我正在尝试获取资源的途径,但是我没有运气。 这是可行的(在IDE和JAR中都可以),但是这样一来,我无法获取文件的路径,只能获取文件内容: 如果我这样做: 结果是: 有没有办法获取资源文件的路径? 问题答案: 这是故意的。“文件”的内容可能无法作为文件使用。请记住,您正在处理的类和资源可能是JAR文件或其他类型的资源的一部分。类加载器不必为资源提供文件句柄,例如jar文件可能尚未扩展为

  • 问题内容: 我有这个HTML代码: 问题是我收到消息“错误”。这意味着iframe的文档未正确获取,而GetDoc函数实际返回的是父文档。 如果您告诉我在哪里犯错,我将不胜感激。(我想将文档托管在IFrame中。) 谢谢。 问题答案: 您应该可以使用以下代码访问IFRAME中的文档: 但是,如果框架中的页面是从其他域(例如google.com)加载的,则将无法执行此操作。这是因为浏览器的“相同来源

  • 问题内容: 我需要配置我的Jenkins服务器,并且需要向Jenkins配置添加Java路径。 但是我是lunix命令的新手,有什么建议吗? 我不知道在哪里安装它! 查看经过验证的答案! 问题答案: 这是解决方案 感谢tecadmin