Sono un po 'confuso con un errore il mio programma ha iniziato a lanciare di recente.In che modo la chiusura di un FileInputStream può causare un errore "Spazio vuoto sul dispositivo"?
java.io.IOException: No space left on device
at java.io.FileInputStream.close0(Native Method)
at java.io.FileInputStream.close(FileInputStream.java:259)
at java.io.FilterInputStream.close(FilterInputStream.java:155)
Io parto dal presupposto che dal momento che questo è un FileInputStream, che questo file sia mantenuto in memoria, e non sul disco fisico. I livelli di memoria sono fantastici, così come lo spazio su disco. Ciò è particolarmente confuso poiché si verifica alla chiusura di FileInputStream. Grazie per eventuali spiegazioni che potresti avere su come ciò possa accadere.
EDIT: Codice per la revisione
if (this.file.exists()) {
DataInputStream is = new DataInputStream(new FileInputStream(this.file));
this.startDate = new DateTime(is.readLong(), this.timeZone);
this.endDate = new DateTime(is.readLong(), this.timeZone);
is.close();
}
Come potete vedere sopra io sono solo l'apertura del file, la lettura di alcuni contenuti, e quindi chiudere il file.
perché non incollare il vostro codice? – lichengwu
Aggiunto codice per chiarimenti. – Judicator
potrebbe essere il sistema operativo sta scrivendo alcune cose su disco, access logs ecc. – SpaceTrucker