java - 如何在不删除其他变量的情况下更新java中的属性值

标签 java variables properties

data.txt 文件的内容

pin=9876

balance=9001

investment=10000

interest=0.065

isLockedOut=false
<小时/>

我当前的代码:

import java.io.*;
import java.util.Properties;

public class SetData extends ATM {

    public static void setIsLockedOut(boolean isLockedOut) { //Sets the isLockedOut variable
        try {
            Properties data = new Properties();   
            FileOutputStream output = new FileOutputStream("data.txt");
            if (isLockedOut = true) {
                data.setProperty("isLockedOut", "true");
                data.store(output, null);
                output.close(); //Closes the output stream
            }
            else {
                data.setProperty("isLockedOut", "false");
                data.store(output, null);
                output.close();
            }     
        }
        catch (Exception e) {
            System.err.println("Error: " + e.getMessage());
        }
    }
}

我还检查并提到了 StackOverflow 上的类似问题 ( Updating property value in properties file without deleting other values )。

从另一个类调用方法“setIsLockedOut”。 当我调用此方法将“data.txt”文件中的“isLockedOut”变量设置为 true 时,除“isLockedOut”变量之外的所有其他变量都将被删除。这是输出:

#Sun Nov 17 15:44:42 EST 2013

isLockedOut=true

所以我的问题是,如何在不删除文件中其他值的情况下更新属性值?

最佳答案

您所做的就是用data 的内容覆盖data.txt 文件,这只是“isLockedOut”的值。看来您想要做的是使用 data.txt 中曾经存在的所有属性以及“isLockedOut”的更新值来覆盖 data.txt。为此,您需要打开data.txt进行读取,并将其内容读取到data中,然后修改data,然后用新的data覆盖data.txt 。跳过第一步是导致您出现问题的原因。

您需要使用 FileInputStreamload method 。使用它们的方式与使用 FileOutputStreamstore 的方式大致相同。

关于java - 如何在不删除其他变量的情况下更新java中的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20027399/

相关文章:

c# - 如何定义一个结构,其成员可以被任何内部类访问但只能由特定(内部)类设置?

python - 属性和 __getattr__ 与 AttributeError 的兼容性问题

java - 递归函数中奇怪/奇怪的行为

java - _id 和 $oid 的区别; mongo 数据库中的 $date 和 IsoDate

使用 if 语句的 Javascript 变量值

swift - 从另一个类 Swift 访问变量

javascript - 我应该如何混合 Vue 组件的已验证和未验证属性?

java - 在 AWT Canvas 上绘制图像

java - "Exception in thread "main "java.lang.ArrayIndexOutOfBoundsException: 100"in数组数据结构程序

php - 在 POST 上检索名称作为变量