Qualcun altro è la creazione di un file CSV aggiungendo una riga alla volta per esso, come si verificano gli eventi. Non ho alcun controllo sul formato del file o sull'altro processo, ma so che verrà aggiunto solo.In Java, qual è il modello migliore/più sicuro per il monitoraggio di un file aggiunto? processo
In un programma Java, vorrei monitorare questo file, e quando una linea viene aggiunto leggere la nuova linea e reagire in base al contenuto. Ignora il problema di analisi CSV per ora. Qual è il modo migliore per monitorare il file per le modifiche e leggere una riga alla volta?
Idealmente questo utilizzerà le classi della libreria standard. Il file potrebbe trovarsi su un'unità di rete, quindi mi piacerebbe qualcosa di solido in caso di errore. Preferisco non utilizzare il polling, se possibile - preferirei invece una soluzione di blocco.
Edit - dato che una soluzione di blocco non è possibile con le classi standard (grazie per la risposta), qual è la soluzione più robusta sondaggi? Preferirei non rileggere l'intero file ogni volta che potrebbe diventare abbastanza grande.
I codici precedenti garantiscono la lettura della riga aggiunta? – DerekY
Il mio requisito è quello di guardare una cartella e non appena un file viene aggiunto/scritto/spostato nella cartella, eseguire immediatamente un'azione (ad esempio, inviare via email al file). Il problema che sto incontrando è che quando il file è grande, potrebbe essere necessario un po 'di tempo per essere completato scritto o copiato, mentre l'evento FILE_CREATE viene annunciato non appena i primi byte del file vengono scritti nella cartella. Quindi non posso eseguire immediatamente l'azione. Qual è un modo affidabile per determinare se il file è stato completamente scritto prima di eseguire qualsiasi azione su di esso? –