void watcher_FileChanged(object sender, FileSystemEventArgs e) { Console.WriteLine("UN ARCHIVO CAMBIADO {0}", e.Name); Thread.Sleep(Convert.ToInt32(ConfigurationManager.AppSettings["before_parse_sleep"])); TicketFile file = new TicketFile(); file.path = e.Name; updatefile(file); }
public void updatefile(TicketFile file) { try { String FullName = ConfigurationManager.AppSettings["watch_path"] + file.path; FileStream fs = new FileStream(FullName, FileMode.Open, FileAccess.Read, FileShare.None); StreamReader sfile = new StreamReader(fs); String current_record = ""; while (!sfile.EndOfStream) { String line = sfile.ReadLine(); //Console.Write(line); if (line[0] == '"') { if (line.LastIndexOf('"') > 0) { // registro completo en una linea. current_record = line; process_record(current_record, file.path); current_record = ""; } else { current_record += line; current_record += "\n"; } } else { if (line.LastIndexOf('"') > 0) { current_record += line; process_record(current_record, file.path); current_record = ""; } else { current_record += line; current_record += "\n"; } } } fs.Close(); } catch (Exception ex) { logfile.WriteLine(String.Format("EXCEPTION:UPDATE_FILE:{0}", ex.ToString())); throw; } }
public void reload_dir() { try { logfile.WriteLine("RECONOCIENDO DIRECTORIO {0}", ConfigurationManager.AppSettings["watch_path"]); DirectoryInfo dir = new DirectoryInfo(ConfigurationManager.AppSettings["watch_path"]); foreach (FileInfo f in dir.GetFiles(ConfigurationManager.AppSettings["watch_filter"])) { TicketFile tkt = new TicketFile(); tkt.path = f.Name; ticket_files.Add(tkt); logfile.WriteLine("RECONOCIENDO ARCHIVO {0}", f.Name); updatefile(tkt); } } catch (Exception ex) { logfile.WriteLine(String.Format("EXCEPTION:RELOAD_DIR:{0}", ex.ToString())); throw; } }