Domanda

Sto lavorando a un progetto in cui sto usando RandomAccessFile. Il problema più grande che sto riscontrando è che anche se chiudo il file dopo aver effettuato l'accesso, il file non si chiude fino a quando l'intera applicazione non viene chiusa. È un comportamento standard o qualcuno ha qualche idea di cosa stia succedendo? Il codice appare sostanzialmente come:

RandomAccessFile raf = new RandomAccessFile(f);
//do stuff
raf.close();

Entrambe le sezioni in cui sto usando un RandomAccessFile sono così (cioè sono sicuro al 100% che sto chiamando vicino ai file.)

È stato utile?

Soluzione

Vuoi assicurarti che la tua chiusura sia all'interno di un blocco finalmente come questo

RandomAccesFile raf = null;
try {
    raf = new RandomAccessFile(f);
    //do stuff
} finally {
   if (raf != null) {
      raf.close();
   }
}

Altrimenti un'eccezione può far sì che close () non venga mai eseguito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top