|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 364
|
[Java]Problema scrittura file properties
Salve ragazzi ho un problema con la scrittura su un file properties,
il problema è che eseguo il mio programma, non viene segnalato nessun errore, ma nel file properties non viene scritto nulla. Posto qui sotto il codice, con la speranza che qualcosa possa aiutarmi, inoltre volevo chiedere come è possibile scrivere nel file, partendo dalla fine dei valori scritti in precedenza nel file. Codice:
File file = new File("C:/file.properties"); Properties properties = new Properties(); properties.load(new FileInputStream(file)); properties.setProperty("CountryName", "South Africa"); properties.setProperty("CountryCode", "27"); |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
quel codice non scrive nulla: legge soltanto e poi aggiunge in memoria. per scrivere devi usare il metodo store
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 364
|
Ti ringrazio, sai inoltre per caso come è possibile scrivere nel file, partendo dalla fine dei valori scritti in precedenza nel file?
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Penso che sia possibile semplicemente dicendo al programma di salvare i dati sul file in modalità "append":
Codice:
properties.store(new FileOutputStream(file, true)); Il secondo svantaggio è che ti scriverebbe l'header del file due volte in due posizioni diverse: magari è trascurabile, ma il file risulterebbe meno "leggibile" al di fuori del contesto delle classi Java... e visto che file properties servono apposta... ![]()
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 364
|
Ti ringrazio per la spiegazione molto dettagliata, tu cosa mi consigli per scrivere alla fine del file properties, senza creare i problemi che hai prima citato tu?
|
![]() |
![]() |
![]() |
#6 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
pseudo: Codice:
String fileName = "C:\\lol.txt"; FileInputStream fis = new FileInputStream(fileName); Properties properties = new Properties(); properties.load(fis); fis.close(); properties.setProperty("nuova_proprieta", "asdasdasd"); properties.setProperty("altra_proprieta", "roflmao"); FileOutputStream fos = new FileOutputStream(fileName); properties.store(fos); fos.close(); |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 364
|
Ti ringrazio, però ora ho un altro problema, ho provato a ricavarmi nella classe java l'InputStrem in questa maniera
InputStream fis = this.getClass().getResourceAsStream(LS_VALUES); però facendo così succede una cosa molto strana, siccome la classe la richiamo da una pagina jsp, quando il properties che si trova sotto tomcat viene scritto, cade la sessione, secondo voi da cosa può dipendere questo? |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:11.