Attualmente sto lavorando al progetto che elabora i file dalla directory sorgente in una delle sue routine. C'è un processo Java che cerca la directory specificata e tenta di leggere ed elaborare i file se esistono. I file vengono abbandonati e gli aggiornamenti vengono eseguiti da altri processi di terze parti. La domanda è: come posso verificare se il file è stato scritto completamente? Sto cercando di usare file.length()
ma sembra che anche se il processo di scrittura non è stato completato, restituisce le dimensioni reali. Ho la sensazione che la soluzione dovrebbe essere dipendente dalla piattaforma. Qualsiasi aiuto sarebbe apprezzato.Verifica se il file è completamente scritto
AGGIORNAMENTO: Questa domanda non è molto diversa dal duplicato ma ha una risposta con lo snippet di codice funzionante che ha un punteggio elevato.
Hai considerato l'utilizzo di blocchi di file? – cklab
Grazie. Controllando questo Possiamo essere sicuri che i blocchi vengano sempre creati tramite il processo di scrittura? –
Bene, il concetto è che se si tenta di ottenere un blocco, si dovrebbe ottenere un'eccezione. Mi sono imbattuto anche in questo: http://docs.oracle.com/javase/7/docs/api/java/io/File.html # canWrite% 28% 29 Mai usato, ma puoi dare un colpo per vedere come funziona. Sembra interessante. – cklab