Я использую приведенный ниже код для обновления данных в моем существующем файле config.properties. Как только он записан, данные файла config.properties уже не в той последовательности, в которой они были. Как я могу записать / обновить файл конфигурации, чтобы он только обновлял указанное значение ключа c и не нарушал последовательность его написания?
Существующий файл config.properties
browser = chrome
invalid_username = abc123
invalid_password = abc123
invalid_email = testQA@test.com
Update_Contact_info = PA Address
address1= 123 broad st
address2= 990
city= Horsham
state= KY
zipCode= 19044
homePhone= 1111111111
workPhone= 1111111111
cellPhone= 2155551212
email= qa1.ramkumar@abc.com
Update_Contact_info = NY Address
nyAddress1= 101 broad st
nyAddress2= none
nyCity= queens
nyState= NY
nyZipCode= 11797
nyHomePhone= 2152375757
nyWorkPhone= 1111111111
nyCellPhone= 2155551212
nyEmail= qa.fry@abc.com
код для обновления данных config.properties
public static void updateConfigPropertiesValue(String key, String value) {
File configFile = new File(System.getProperty("user.dir") + "/src/main/java" + "/com/abc/config/config.properties");
try {
Properties props = new Properties();
prop.setProperty(key, value);
//prop.store(new FileOutputStream(System.getProperty("user.dir") + "/src/main/java" + "/com/abc/config/config.properties"), "");
FileWriter writer = new FileWriter(configFile);
prop.store(writer, "");
writer.close();
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
// I/O error
}
}
Обновленный файл config.properties
Обновлен файл config.properties
#
#Wed Feb 26 15:27:12 EST 2020
invalid_email=testQA@test.com
invalidState=TX
state=KY
nyCellPhone=2155551212
invalidEmail=DEVELOPMENT@abcCOM
invalidCity=Ambler
city=Horsham
invalidAddress1=1635 SHERMAN ST NE
invalidAddress2=99999
nyZipCode=11797
email=qa1.ramkumar@abc.com
cellPhone=2155551212
zipCode=19044
invalidZipCode=99999
nyHomePhone=2152375757
invalidWorkPhone=2i52376268
homePhone=1111111111
nyCity=WOODBURY
nyState=NY
nyAddress2=none
nyAddress1=101 broad st
invalid_password=abc123
nyWorkPhone=1111111111
browser=chrome
invalidCellPhone=6666666666
invalidHomePhone=9 90290000
invalid_username=abc123
address2=120
address1=123 broad st
nyEmail=qa.fry@abc.com
workPhone=1111111111