|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
[Java] apertura file non vuoto per scrittura
se apro un oggetto File (che corrisponde su disco ad un file non vuoto) per scriverci sopra con FileOutputStream, il suo contenuto viene cancellato all'apertura oppure lo stream sovrascrive il contenuto vecchio?
ovvero, se io scrivo in tale file una quantità di bytes minore di quella che c'era, quando lo chiudo poi mi ritrovo alla fine del file i bytes vecchi che non sono stati sovrascritti? e per quanto riguarda invece l'apertura tramite PrintStream? denghiù. |
|
|
|
|
|
#2 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
Solo FileOutputStream/FileWriter hanno il boolean append.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Per FileOutputStream c'è un costruttore apposta che accetta un flag "append" (boolean) che dovrebbe servire a specificare se iniziare a scrivere dall'inizio o la fine del file (cioè sovrascrivendolo o no)
Uso FileOutputStream fos = new FileOutputStream(oggetto_file, true); // se non si vuole sovrascrivere L'apertura del FileOutputStream non dovrebbe sovrascrivere niente nel file in ogni caso fino a che non inizi a scriverci dentro (con la write() ) . Al contrario l'apertura di un file con la PrintStream tronca il file a "0" (in caso esista)
__________________
GPU Compiler Engineer |
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
grazie ragazzi, tutto chiaro
non mi ero accorto del costruttore col flag append
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:30.




















