Ciao,
sto cercando di utilizzare la classe FileSystemWatcher per monitorare un file dati.txt.
Ogni volta che si verifica l'evento Changed vorrei far rileggere il file dati.txt e visualizzare il contenuto in una listbox.
Tutto funziona il programma rileva l'eventuale modifica del file, pero' non so bene cosa scrivere nel metodo OnChange che viene generato ogni qual volta viene rilevata una modifica al file dati.txt.
Infatti se richiamo direttamente il metodo di lettura del file viene generato un errore.
Mi è stato anche suggerito di utilizzare un processo in background che viene richiamato dalla funzione Onchange ma non so bene come fare...
Chi mi puo' aiutare?
codice:
//[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
public static void Run()
{
// Create a new FileSystemWatcher and set its properties.
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = @"z:\Universita\informatica2\progetti visual c#\";
watcher.Filter = "dati.txt";
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.EnableRaisingEvents = true;
}
private static void OnChanged(object source, FileSystemEventArgs e)
{
// che ci devo mettere?
}
private static void leggi_file()
{
StreamReader sr = File.OpenText("dati.txt");
do
{
lstbox.Items.Add(riga);
riga = sr.ReadLine();
}
while (riga != null);
lstbox.SelectedIndex = Convert.ToInt32(txtindex.Text);
sr.Close();
}
}
}