.NET Tip: Receive Notification When a File is Updated Louisville KY

Do you need to know when a file or directory has been updated? The FileSystemWatcher class gives you a very easy means to monitor the file system.

Local Companies

Developware, Inc.
1.877.280.2392
Bakery Square
Louisville, KY
Epicor Software Corporation
502-412-7666
9100 Shelbyville RD
Louisville, KY
Oasis Computer Solutions
502-429-6902
9000 Wessex Pl
Louisville, KY
Epicor Software
502-339-7748
8700 Westport RD
Louisville, KY
Information Systems Solutions Inc
502-245-7003
12730 Townepark Way
Louisville, KY
National Innovative Software Solutions LLC
502-495-0548
2108 Plantside DR
Louisville, KY
Allscripts Healthcare Solutions
502-412-1102
1302 Clear Springs Trce
Louisville, KY
Bellwether Software
502-426-5463
9900 Shelbyville Rd
Louisville, KY
Halo Group, Inc.
502-657-6468
9900 Corporate Campus Drive
Louisville, KY
Graphic Computer Consultants
(502) 339-9500
10704 Burnt Oaks Ct
Louisville, KY

provided by: 
Originally published at Internet.com


.NET Tip: Receive Notification When a File is Updated

Using the FileSystemWatcher class provides you with a very simple but flexible way to monitor the file system. It can be used to monitor directories, individual files, or groups of files. It also can be configured only to notify your application of certain types of changes. For this example, I'll show you a class that watches for changes in the LastWrite property of a specific file. I use this class to watch for changes in text files that contain the body of an email message that is sent when the status of your system changes. When one of these text files changes, the application can detect the change and cache the new contents of the file. Here is what the class looks like: public class MessageFileWatcher { public MessageFileWatcher(string Path, string FileName) { FileSystemWatcher Watcher = new FileSystemWatcher(); Watcher.Path = Path; Watcher.Filter = FileName; Watcher.NotifyFilter = NotifyFilters.LastWrite; Watcher.Changed += new FileSystemEventHandler(OnChanged); Watcher.EnableRaisingEvents = true; } private void OnChanged(object source, FileSystemEventArgs e) { // Do something here based on the change to the file } }

The constructor for my MessageFileWatcher class takes the path to the directory where the file is stored as well as the specific file name as parameters. A new FileSystemWatcher variable is created and the Path and Filter properties are set to the parameters passed into the constructor. Next, the NotifyFilter property is set to indicate the type of change which is of interest. In this case, I want to be notified every time the file is written, so I am using LastWrite. I then hook one of my methods into the Changed event of the FileSystem Watcher and enable it to raise events. I've included the OnChanged event handler for completeness, but the code in this method will depend upon your application. That is all there is to it. Here is an example usage of the MessageFileWatcher class: MessageFileWatcher WarningMessage = new MessageFileWatcher(@"C:\MyApp", "MyApp.Warning.msg"); MessageFileWatcher AlertMessage = new MessageFileWatcher(@"C:\MyApp", "MyApp.Alert.msg");

This provides a simple way to monitor the files used by your application. You may want to further explore the Filter and NotifyFilter properties as well as the various events available to make best use of the FileSystemWatcher class.

About the Author

Jay Miller is a Software Engineer with Electronic Tracking Systems, a company dedicated to robbery prevention, apprehension, and recovery based in Carrollton, Texas. Jay has been working with .NET since the release of the first beta and is co-author of Learn Microsoft Visual Basic.Net In a Weekend. Jay can be reached via email at jmiller@sm-ets.com.

Author: Jay Miller

Read article at Internet.com site

Featured Local Company

Developware, Inc.

1.877.280.2392
Bakery Square
Louisville, KY
www.developware.com

Related Local Event
SUR/FIN - Annual Technical Conference and Exhibit of Surface Finishing
Dates: 6/16/2009 - 6/18/2009
Location: Kentucky International Convention Center
Louisville, KY
View Details