免责声明:
我知道这是在学习 Java 的早期就涉及的内容,但是,我只是一个业余爱好者,我是自学成才的。我只和我在网上找到的信息一样好。请不要嘲笑或居高临下。我们都是新人。
如前所述,我编写了一个 Java 表单应用程序。它的作用是接受用户输入并将其写入 Excel 文件。如何动态引用每个用户计算机上的文件(尤其是 Excel),该文件位于不同的目录中,但不必对每个用户的确切文件路径进行硬编码并单独分发?
谢谢!
您可以让应用程序向用户询问路径。
作为应用程序配置的一部分,让用户使用所需目录或安装目录的已知名称定义环境变量(然后使用该变量派生所需目录)。
例如:
或者
默认使用 user.home 很好,但我(个人)不喜欢这种技术(作为用户)。
以 2 个用户为例
UserA path: /opt/file/directories/target (contains the excel file)
UserB path: /opt/directories/target (contains the excel file)
除非应用程序可以访问一些带外信息,否则绝对无法找到target
目录(除了搜索它,但随后您可能会找到另一个目录)。例如,Java 提供了user.home
属性
String pathPrefix = System.getProperty("user.home");
所以你可以使用它并使你的目标目录相对于它。
这就是具有安装/工作目录的应用程序的全部目的。再举一个例子,以 Windows 注册表为例。想象一下,您必须从 Internet 下载补丁程序。补丁本身无法检查文件系统上的所有路径,直到找到您的路径(每个用户都有不同的路径)。相反,它可以从 Windows 注册表中找到该路径(或根据应用程序可比较的路径)。