shad0w Geschrieben 14. April 2003 Teilen Geschrieben 14. April 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
k21 Geschrieben 14. April 2003 Teilen Geschrieben 14. April 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 14. April 2003 Autor Teilen Geschrieben 14. April 2003 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 ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
k21 Geschrieben 14. April 2003 Teilen Geschrieben 14. April 2003 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) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 14. April 2003 Autor Teilen Geschrieben 14. April 2003 nee ... nich wirklich. nun passiert genau das, was ich vermutet hatte ... 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
k21 Geschrieben 14. April 2003 Teilen Geschrieben 14. April 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 14. April 2003 Autor Teilen Geschrieben 14. April 2003 hm, ok. ich war mal kreativ ... 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(); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.