在公司中,我们的员工使用了多个全局 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/