java - 使用 Java 应用程序写入 Windows 7 库

标签 java windows-7 unc

在公司中,我们的员工使用了多个全局 Java 应用程序。其中一些允许用户创建报告,这些报告始终保存在他们的主目录中。主目录是网络驱动器,当用户登录自己的计算机时,主目录会被分配驱动器号U:/。因此,在应用程序中,报告目标目录的路径只是硬编码的 U:\Reports

但是,我们很快就会从 Windows XP 迁移到 Windows 7 并使用不同的结构:用户将在其他服务器上获得新的主目录,可以在 Windows 7 资源管理器的文档库中访问这些目录。不会再有任何驱动器号了。

因此报告目录的新路径应该是Libraries\Documents\My Documents\Reports。但是我怎样才能在Java中访问这个路径呢?如何找到实际的绝对 UNC 路径(如果有必要的话)?

我不能只使用\\theserver\users\username,因为我们有多个服务器(每个大陆都有一个)。我必须使用 Windows 7 文档库中的文件夹。

最佳答案

首先,“库”不是实际的文件系统位置。库指向文件系统位置。如果您在 win7 中右键单击某个库并查看其属性,您将看到它指向的实际文件系统位置。默认情况下,文档库指向 C:\Users\{用户名}\Documents。在任何情况下,您都可以使用以下方式访问当前用户的主目录:

System.getProperty("user.home")

因此,要访问文档文件夹:

File documentsFolder = new File(System.getProperty("user.home") + "\\Documents");   

关于java - 使用 Java 应用程序写入 Windows 7 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16690037/

相关文章:

c++ - 仅适用于 .NET 的 Windows API W7 JumpList?

c++ - WNetUseConnection SystemErrorCode 1113 不存在映射

java - Java 中的位操作 - 根据位值有条件地切换位?

java - ftp4j 客户端下载文件时 FTP 服务器死机

vim - JSLint 和 VIM 需要在 Windows 7 上手动提升 UAC

windows-7 - 围绕 Windows UAC 限制进行设计的正确方法?

delphi - 连接 Windows 服务中的映射驱动器盘符

c# - 从映射驱动器或共享文件夹运行 .NET 程序

java - JTabbedPane 内 JFileChooser 上的 ActionListener

java - Mac OS JDialog 不会暂停执行,即使是模态