Sto monitorando un file di testo che viene scritto da un programma server. Ogni volta che il file viene modificato, il contenuto verrà emesso in una finestra del mio programma.Lettura di un file utilizzato da un altro processo
Il problema è che non riesco a utilizzare il Streamreader
sul file poiché è used by another process
. La creazione di un Filestream
con ReadWrite
non andrà bene dato che non riesco a controllare il processo che sta utilizzando il file.
Posso aprire il file nel blocco note. Deve essere possibile accedervi anche se il server lo sta usando.
C'è un buon modo per aggirare questo?
Devo fare quanto segue?
- Monitorare il file
- Fare una copia temporanea di esso quando cambia
- leggere la copia temporanea
- Eliminare la copia temporanea.
Ho bisogno di ottenere il testo nel file ogni volta che il server lo modifica.
Grazie ... Non mi ero reso conto che FileShare.Read non sarebbe corretto in questo caso. –
usando 'FileShare.ReadWrite | FileShare.Delete' puoi accedere a un numero ancora maggiore di file. Vale la pena provare quando 'FileShare.ReadWrite' non è sufficiente – Adassko
@Adassko O quando' FileShare.Read' non è abbastanza, come in questo caso, e nella mia particolare situazione, dove stavo usando quello nello stesso tipo di codice, e dovevo passare a 'FileShare.ReadWrite' per farlo funzionare. – vapcguy