在C#中,当我想创建一个配置文件时,它非常简单,只需右键单击鼠标并添加一个新的配置文件,该文件将被添加到解决方案中,并且它很容易维护。
但是在java中,我不知道什么方法是标准的。我看到有些人使用的是本地文件。如果这是最流行的方法,有人可以告诉我在哪里放置这个文件吗?我看到有人把它放在src文件夹中,其他人把它放在外部文件夹中。
你能告诉我哪个是标准的吗?维护配置的最佳做法是什么。
答案 0 :(得分:1)
我不知道这是否是"标准"方式,但我认为这是最简单的方式。如果将属性文件放在项目的根文件夹
中 - project
- config.properties
- src
- main
- ...
- test
在Java中创建File
实例并指定相对文件名时,将根据从中启动Java的目录解析名称
e.g。如果您在命令提示符中启动java,如下所示:
cd C:\Users\Tom\example-project
java example-project
这是你的代码:
File file = new File("tom.txt");
然后文件变量将被解析为abolsute路径:C:\ Users \ Tom \ example-project \ tom.txt
当您通过Eclipse运行项目时,Eclipse会从项目的根目录启动java,这意味着如果您将配置文件放在项目的根文件夹中,那么
File file = new File("name-of-config-file.properties");
将解析为您系统上的正确配置文件。
如果您创建一个可运行的JAR,这会带来额外的好处,因为您可以将配置文件放在与JAR相同的目录中,代码将继续工作(配置文件位置将相对于JAR解析)
如果您将配置文件放在/ src文件夹中,那么在从Eclipse运行和作为JAR运行时需要单独的代码
关于示例代码:
//Read properties from disk
File propertiesFile = new File("config.properties");
FileReader reader = new FileReader(propertiesFile);
Properties props = new Properties();
props.load(reader);
//Set and get properties
props.setProperty("NewProperty", "value");
String propValue = props.getProperty("propToGet");
//Write properties to disk
FileWriter writer = new FileWriter(propertiesFile);
props.store(writer, "Added x properties");
答案 1 :(得分:0)
配置文件用于存储,读取写入用户设置。
我认为对于Web应用程序,您可以使用web.xml。对于其他应用程序,您应该使用Properties类来读取和写入设置。
至于放置它的位置,如果你没有指定路径,它将存储在你的根文件夹中,除此之外你必须提供显式路径。