Zum Inhalt springen

Propertyfiles updaten


Empfohlene Beiträge

Geschrieben

Hi,

ich speichere ein paar daten meiner applikation in propertyfiles ... wenn ich nun eine eigenschaft aendere und diese dann per store in die datei schreibe, werden alle anderen eintraege geloescht. :(

wie kann ich das verhindern?

danke

Geschrieben

okay so in etwa sieht es bei einem BufferedWriter aus:


BufferedWriter bw = new BufferedWriter(new FileWriter("datei.txt", true));

wobei es auf das ", true" ankommt ...

ich vermute mal bei den meisten Schreibarten gibt es diese Möglichkeit.

Greets

Geschrieben

also bei mir sieht das so aus:

      out = new BufferedOutputStream( new FileOutputStream( APPPROPERTIEFILE ) );

      ApplicationProperties.setProperty( key, value );

      ApplicationProperties.store( out, "title" );

      out.close();

und der 2te parameter vom outputstream waere size ... mit boolean hat das nix zu tun ... ;)

Geschrieben

dann probier mal folgendes:


      out = new BufferedOutputStream( new FileOutputStream( APPPROPERTIEFILE , true) );

      ApplicationProperties.setProperty( key, value );

      ApplicationProperties.store( out, "title" );

      out.close();

FileOutputStream(String name, boolean append) :

append - if true, then bytes will be written to the end of the file rather than the beginning

Quelle: http://java.sun.com/products/jdk/1.2/docs/api/java/io/FileOutputStream.html#FileOutputStream(java.lang.String,%20boolean)

Geschrieben

nee ... nich wirklich. nun passiert genau das, was ich vermutet hatte ... :D

das propertyfile sieht wie eine logdatei aus. :(

#title

#Mon Apr 14 12:58:56 CEST 2003

MaxCollectorDays=1

SaveCustomer=1

LookAndFeel=Plastik

#title

#Mon Apr 14 14:28:17 CEST 2003

LookAndFeel=Plastik

#title

#Mon Apr 14 14:28:17 CEST 2003

MaxCollectorDays=3

#title

#Mon Apr 14 14:28:17 CEST 2003

SaveCustomer=0

#title

#Mon Apr 14 14:28:20 CEST 2003

LookAndFeel=Plastik

#title

#Mon Apr 14 14:28:20 CEST 2003

MaxCollectorDays=3

#title

#Mon Apr 14 14:28:20 CEST 2003

SaveCustomer=1

Geschrieben

yo das schaut natürlich so aus weil einfach angehängt wird.

dann kannst du das mit dem true knicken ;)

musst vllt ne andere write methode versuchen..

http://java.sun.com/products/jdk/1.2/docs/api/java/io/BufferedWriter.html

einfach mal gucken, musst nen schreiber haben der an nem bestimmten byte anfängt und auch wieder aufhört denke ich ..

vielleicht liege ich auch daneben mit meiner idee ...

naja ne andere idee wäre dass du weisst welche zeile getauscht werden soll (wenn denn ne zeile getauscht werden soll).

dann zählst du irgendwie so lang hoch bis du in der richtigen zeile angelangt bist und ersetzt sie...

lass die fantasie spielen ;)

Geschrieben

hm, ok. ich war mal kreativ ... :D

einfach alle properties auslesen, key aendern und wieder speichern. so funtzt's. :cool:


in = new BufferedInputStream( new FileInputStream( APPPROPERTIEFILE ) );

ApplicationProperties.load( in );

in.close();

out = new BufferedOutputStream( new FileOutputStream( APPPROPERTIEFILE ) );

ApplicationProperties.setProperty( key, value );

ApplicationProperties.store( out, "title" );

out.close();

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...