gpt4 book ai didi

java - 读/写项目文件夹中的文件

转载 作者:行者123 更新时间:2023-12-01 13:03:58 27 4
gpt4 key购买 nike

嗨,我想知道如何访问 java/maven 中项目文件夹中的文件,我考虑过使用 src/main/resources,但有人告诉我,写入此目录中的文件是一个坏主意,并且应该只在项目的配置中使用,所以我创建了一个新的非源文件夹,但我想知道是否有一种方法可以在java中访问此文件而不给出绝对路径,因为我需要在不同的环境中使用它。任何帮助或其他合适的建议都会非常感谢。我将在运行时写入文件。

编辑:

我正在使用它来访问文件:

private static final String ACTUAL_VALUES ="verification/actualCounterValues.csv";

其中verification是我在项目中创建的文件夹

最佳答案

据我了解,您的目标是从应用程序内访问文件,而不需要硬编码相对路径,因为您将在不同的环境中运行它。

您可能需要解决的第一件事是将文件引用与您的应用程序解耦 - 因为如果您移动应用程序,它必须适应新环境。您可以通过将绝对文件引用放入系统环境(可以通过 System.getenv() 方法访问)来解决这个问题。另一种方法是将文件路径传递为 command-line-argument .

之后,您必须指定应用程序的哪个正在运行的实例何时访问该文件。如果您的应用程序在 Maven 和生产环境中分开运行 - 在 Maven 项目中使用相对路径一切都很好。然后,生产应用程序将在其环境中生成并使用自己的文件。

如果他们必须共享文件,您必须提供从两个环境到该文件路径的物理访问,之后您可以使用单独的绝对路径(通过 cli-args 或系统属性传递)或使用“硬编码的”相对路径,它访问文件链接(指向该绝对文件)。

但出于持续维护的原因,我必须阻止您使用任何硬编码的特定于配置的变量。

如果这两个应用程序实例将访问同一个文件,您还应该注意可能的并发困难(尤其是在文件系统中 - 请参阅 post )。

关于java - 读/写项目文件夹中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23364792/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com