我有一个实现JTree并默认使用Java属性文件填充树的应用程序;节点是键,值是节点的内容。该应用程序设计为动态的,因此实现了JButton和JTextField来接收新值并将这些值放入属性文件中的存在键中。
因此,例如,我在sample.properties文件中将以下行作为默认值
节点=猫,狗,老鼠
并使用JTextField和JButton输入“ rabbit”以追加到节点,如下所示:
节点=猫,狗,老鼠,兔子
我已经实现了JTextField和JButton并使它们工作,但是我似乎找不到一种将新值附加到属性文件中现有键的好方法。
只是 FileWriter
FileWriter fileWritter = new FileWriter("example.properties", true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.append("PROPERTES_YOUR_KEY=PROPERTES_YOUR_VALUE");
bufferWritter.close();
更新资料
属性API不支持,我不确定为什么需要此功能。
您可以尝试如下:
example.properties
PROPERTIES_KEY_3=PROPERTIES_VALUE_3
PROPERTIES_KEY_2=PROPERTIES_VALUE_2
PROPERTIES_KEY_1=PROPERTIES_VALUE_1
程序
Properties pop = new Properties();
pop.load(new FileInputStream("example.properties"));
pop.put("PROPERTIES_KEY_3", "OVERWRITE_VALUE");
FileOutputStream output = new FileOutputStream("example.properties");
pop.store(output, "This is overwrite file");
输出
PROPERTIES_KEY_3=OVERWRITE_VALUE
PROPERTIES_KEY_2=PROPERTIES_VALUE_2
PROPERTIES_KEY_1=PROPERTIES_VALUE_1
问题内容: 我在程序中需要一个配置文件来存储一些信息,我看到了一些属性文件的示例,并试图使用它们,但是每当在NetBeans上尝试第二行时,我都会得到“ Package sortConfig不存在”,“ >预期”和“类型非法开始”。 问题是我已经看到大约10个示例都以相同的方式执行此操作,而我不知道发生了什么。 任何帮助,将不胜感激 我的.java类和我的属性文件位于src的同一包文件夹中 问题答
我创建了一个自定义追加器,但在运行测试时没有调用它。以下是这些属性的外观: 我的appender被称为WindowsEventLogappender。知道我的档案有什么问题吗?我看到了控制台测试消息,但没有看到来自我的appender的消息。现在我只是在我的自定义追加器中做一个system.out.println来验证它是否被调用。
问题内容: 是否可以创建新的属性文件并在运行时添加键和值?我想在安装我的应用程序时根据用户输入将新的密钥添加到属性文件。我签出了Java Properties类,但是它似乎可以将值设置为现有键,但是不能将新键添加到属性文件中。 问题答案: 您可以仅通过使用当前不存在的键进行调用来添加新属性。不过,这只会在内存中执行-您将不得不再次调用以将更改反映回文件:
我在尝试添加
问题内容: 我正在编写用于生产监控的独立Java应用程序。一旦开始运行,就会将api配置为.properties文件中设置的默认值。在运行状态下,可以更改api的配置,并应相应更新.properties文件。有办法实现吗?还是有其他方法可以实现这一目标? 提前致谢 问题答案: Java Properties类(api在此处)指定了应该正确执行的“ load”和“ store”方法。使用FileIn
问题内容: 我手动将属性文件注入到jar中。如何从Java 1.7之前的jar文件中加载属性?我尝试了许多解决方法,但到目前为止没有任何效果。 关于它有很多问题,但是所有内容都集中在Java 1.7的ClassLoader方法上。 问题答案: 当您在类路径中或jar文件中具有属性文件时,它将成为资源。其他任何情况都是一个简单的文件。 在打包jar文件之前,需要做的是将属性文件所在的文件夹(即myp