Hallo,
wie kann man eine .properties ändern, ohne dass die Datei neu geschrieben wird?
Momentan lese ich mir die Inhalte mit load() aus, dann werden diese verarbeitet und eventuell vom Benutzer geändert. Danach möchte ich diese Informationen wieder in der Datei ablegen. Jetzt ist es aber so, dass er dabei die Datei neu schreibt und somit alle Kommentare die drin standen weg sind. Ich möchte, dass er nur die values der einzelnen Keys ändert.
Momentan mache ich das so:
Weiß einer Rat?
Danke
Robin
wie kann man eine .properties ändern, ohne dass die Datei neu geschrieben wird?
Momentan lese ich mir die Inhalte mit load() aus, dann werden diese verarbeitet und eventuell vom Benutzer geändert. Danach möchte ich diese Informationen wieder in der Datei ablegen. Jetzt ist es aber so, dass er dabei die Datei neu schreibt und somit alle Kommentare die drin standen weg sind. Ich möchte, dass er nur die values der einzelnen Keys ändert.
Momentan mache ich das so:
Code:
public class PortalConfigEditorConfigProperties {
Properties prop = new Properties();
/**
* Read the properties.
* @return
*/
public PortalConfigData readPortalConfigProperties(String filePath) {
PortalConfigData configData = new PortalConfigData();
configData = new PortalConfigData();
configData.setThePropertiesFilePath(filePath);
try {
FileInputStream fis = new FileInputStream(filePath);
prop.load(fis);
// various info
configData.setThumbnailHeight(Integer.valueOf(prop.getProperty("thumbnailHeight")).intValue());
configData.setThumbnailWidth(Integer.valueOf(prop.getProperty("thumbnailWidth")).intValue());
configData.setTestFile(prop.getProperty("testFile"));
configData.setTestModelCount(Integer.valueOf(prop.getProperty("testModelCount")).intValue());
configData.setTestMediaCount(Integer.valueOf(prop.getProperty("testMediaCount")).intValue());
}
catch(FileNotFoundException fnfe) {
System.err.println( "File not found "+fnfe );
}
catch (IOException ioe) {
System.err.println( "Read error "+ioe);
}
return configData;
}
/**
* Write the properties.
* @param configData
*/
public void writePortalConfigProperties(PortalConfigData configData, String filePath) {
try {
FileOutputStream fout = new FileOutputStream(filePath);
// various info
prop.setProperty("thumbnailHeight", String.valueOf(configData.getThumbnailHeight()));
prop.setProperty("thumbnailWidth", String.valueOf(configData.getThumbnailWidth()));
prop.setProperty("testFile", configData.getTestFile());
prop.setProperty("testModelCount", String.valueOf(configData.getTestModelCount()));
prop.setProperty("testMediaCount", String.valueOf(configData.getTestMediaCount()));
prop.store(fout,"Portal Settings");
}
catch(FileNotFoundException fnfe) {
System.err.println( "File not found "+fnfe );
}
catch (IOException ioe) {
System.err.println( "Write error "+ioe);
}
}
}
Weiß einer Rat?
Danke
Robin