473,418 Members | 1,643 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,418 software developers and data experts.

Looking for contents in a file every minute

What would i use to look for changes in a file every minute?

Oct 5 '08 #1
6 1678
http://msdn.microsoft.com/en-us/libr...emwatcher.aspx
FileSystemWatcher Class

"Andy B" <a_*****@sbcglobal.netwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
What would i use to look for changes in a file every minute?
Oct 5 '08 #2
Hello Andy ,

If you want an event driven aproach go for the file system watcher as this
can give you an event when a change took place in a file
so also when there are 2 changes within a minute you get 2 change events .

Ofcourse you could also just use a timer , read the file in a string
variabel and compare the 2 strings if the 2 strings are not the same the
file has changed
however this wil cost you more CPU / IO cycles
Use the filesystem watcher to get notified when a change on the file took
place , and then reread / process the file
http://msdn.microsoft.com/en-us/libr...emwatcher.aspx

in the link i provided ( also in your previous post ) there is example code
included
in case you missed it
Public Class Watcher

Public Shared Sub Main()

Run()

End Sub

<PermissionSet(SecurityAction.Demand, Name:="FullTrust")_
Private Shared Sub Run

Dim args() As String = System.Environment.GetCommandLineArgs()
' If a directory is not specified, exit the program.
If args.Length <2 Then
' Display the proper way to call the program.
Console.WriteLine("Usage: Watcher.exe (directory)")
Return
End If

' Create a new FileSystemWatcher and set its properties.
Dim watcher As New FileSystemWatcher()
watcher.Path = args(1)
' Watch for changes in LastAccess and LastWrite times, and
' the renaming of files or directories.
watcher.NotifyFilter = (NotifyFilters.LastAccess Or
NotifyFilters.LastWrite Or NotifyFilters.FileName Or
NotifyFilters.DirectoryName)
' Only watch text files.
watcher.Filter = "*.txt"

' Add event handlers.
AddHandler watcher.Changed, AddressOf OnChanged
AddHandler watcher.Created, AddressOf OnChanged
AddHandler watcher.Deleted, AddressOf OnChanged
AddHandler watcher.Renamed, AddressOf OnRenamed

' Begin watching.
watcher.EnableRaisingEvents = True

' Wait for the user to quit the program.
Console.WriteLine("Press 'q' to quit the sample.")
While Chr(Console.Read()) <"q"c
End While
End Sub

' Define the event handlers.
Private Shared Sub OnChanged(source As Object, e As FileSystemEventArgs)
' Specify what is done when a file is changed, created, or deleted.
Console.WriteLine("File: " & e.FullPath & " " & e.ChangeType)
End Sub

Private Shared Sub OnRenamed(source As Object, e As RenamedEventArgs)
' Specify what is done when a file is renamed.
Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath,
e.FullPath)
End Sub

End Class

Michel Posseth [MCP]
http://www.vbdotnetcoder.com



"Andy B" <a_*****@sbcglobal.netschreef in bericht
news:%2****************@TK2MSFTNGP06.phx.gbl...
What would i use to look for changes in a file every minute?

Oct 5 '08 #3
I need to look for things inside the file every minute even if the file
hasn't changed..
"Michel Posseth [MCP]" <MS**@posseth.comwrote in message
news:%2****************@TK2MSFTNGP05.phx.gbl...
Hello Andy ,

If you want an event driven aproach go for the file system watcher as this
can give you an event when a change took place in a file
so also when there are 2 changes within a minute you get 2 change events .

Ofcourse you could also just use a timer , read the file in a string
variabel and compare the 2 strings if the 2 strings are not the same the
file has changed
however this wil cost you more CPU / IO cycles
Use the filesystem watcher to get notified when a change on the file took
place , and then reread / process the file
http://msdn.microsoft.com/en-us/libr...emwatcher.aspx

in the link i provided ( also in your previous post ) there is example
code included
in case you missed it
Public Class Watcher

Public Shared Sub Main()

Run()

End Sub

<PermissionSet(SecurityAction.Demand, Name:="FullTrust")_
Private Shared Sub Run

Dim args() As String = System.Environment.GetCommandLineArgs()
' If a directory is not specified, exit the program.
If args.Length <2 Then
' Display the proper way to call the program.
Console.WriteLine("Usage: Watcher.exe (directory)")
Return
End If

' Create a new FileSystemWatcher and set its properties.
Dim watcher As New FileSystemWatcher()
watcher.Path = args(1)
' Watch for changes in LastAccess and LastWrite times, and
' the renaming of files or directories.
watcher.NotifyFilter = (NotifyFilters.LastAccess Or
NotifyFilters.LastWrite Or NotifyFilters.FileName Or
NotifyFilters.DirectoryName)
' Only watch text files.
watcher.Filter = "*.txt"

' Add event handlers.
AddHandler watcher.Changed, AddressOf OnChanged
AddHandler watcher.Created, AddressOf OnChanged
AddHandler watcher.Deleted, AddressOf OnChanged
AddHandler watcher.Renamed, AddressOf OnRenamed

' Begin watching.
watcher.EnableRaisingEvents = True

' Wait for the user to quit the program.
Console.WriteLine("Press 'q' to quit the sample.")
While Chr(Console.Read()) <"q"c
End While
End Sub

' Define the event handlers.
Private Shared Sub OnChanged(source As Object, e As
FileSystemEventArgs)
' Specify what is done when a file is changed, created, or deleted.
Console.WriteLine("File: " & e.FullPath & " " & e.ChangeType)
End Sub

Private Shared Sub OnRenamed(source As Object, e As RenamedEventArgs)
' Specify what is done when a file is renamed.
Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath,
e.FullPath)
End Sub

End Class

Michel Posseth [MCP]
http://www.vbdotnetcoder.com



"Andy B" <a_*****@sbcglobal.netschreef in bericht
news:%2****************@TK2MSFTNGP06.phx.gbl...
>What would i use to look for changes in a file every minute?


Oct 6 '08 #4
On Oct 6, 1:22*pm, "Andy B" <a_bo...@sbcglobal.netwrote:
I need to look for things inside the file every minute even if the file
hasn't changed..
"Michel Posseth [MCP]" <M...@posseth.comwrote in messagenews:%2****************@TK2MSFTNGP05.phx.gb l...
Hello Andy ,
If you want an event driven aproach go for the file system watcher as this
can give you an event when a change took place in a file
so also when there are 2 changes within a minute you get 2 change events .
Ofcourse you could also just use a timer , read the file in a string
variabel and compare the 2 strings if the 2 strings are not the same the
file has changed
however this wil cost you more CPU / IO cycles
Use the filesystem watcher to get notified when a change on the file took
place , and then reread / process *the file
http://msdn.microsoft.com/en-us/libr...emwatcher.aspx
in the link i provided ( also in your previous post ) there is example
code included
in case you missed it
Public Class Watcher
* *Public Shared Sub Main()
* * * * Run()
* *End Sub
* *<PermissionSet(SecurityAction.Demand, Name:="FullTrust")_
* *Private Shared Sub Run
* * *Dim args() As String = System.Environment.GetCommandLineArgs()
* * * *' If a directory is not specified, exit the program.
* * * *If args.Length <2 Then
* * * * * *' Display the proper way to call the program.
* * * * * *Console.WriteLine("Usage: Watcher.exe (directory)")
* * * * * *Return
* * * *End If
* * * *' Create a new FileSystemWatcher and set its properties.
* * * *Dim watcher As New FileSystemWatcher()
* * * *watcher.Path = args(1)
* * * *' Watch for changes in LastAccess and LastWrite times, and
* * * *' the renaming of files or directories.
* * * *watcher.NotifyFilter = (NotifyFilters.LastAccess Or
NotifyFilters.LastWrite Or NotifyFilters.FileName Or
NotifyFilters.DirectoryName)
* * * *' Only watch text files.
* * * *watcher.Filter = "*.txt"
* * * *' Add event handlers.
* * * *AddHandler watcher.Changed, AddressOf OnChanged
* * * *AddHandler watcher.Created, AddressOf OnChanged
* * * *AddHandler watcher.Deleted, AddressOf OnChanged
* * * *AddHandler watcher.Renamed, AddressOf OnRenamed
* * * *' Begin watching.
* * * *watcher.EnableRaisingEvents = True
* * * *' Wait for the user to quit the program.
* * * *Console.WriteLine("Press 'q' to quit the sample.")
* * * *While Chr(Console.Read()) <"q"c
* * * *End While
* *End Sub
* *' Define the event handlers.
* *Private Shared Sub OnChanged(source As Object, e As
FileSystemEventArgs)
* * * *' Specify what is done when a file is changed, created, or deleted.
* * * *Console.WriteLine("File: " & e.FullPath & " " & e.ChangeType)
* *End Sub
* *Private Shared Sub OnRenamed(source As Object, e As RenamedEventArgs)
* * * *' Specify what is done when a file is renamed.
* * * *Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath,
e.FullPath)
* *End Sub
End Class
Michel Posseth [MCP]
http://www.vbdotnetcoder.com
"Andy B" <a_bo...@sbcglobal.netschreef in bericht
news:%2****************@TK2MSFTNGP06.phx.gbl...
What would i use to look for changes in a file every minute?- Hide quoted text -

- Show quoted text -
Hi,
You can use a Timer with 60000-milisecond intervals without needing to
raise changed events. However you need to determine what you really
mean by calling "inside of file" and what you want to look for, for
example, if you're just intending to check a file's LastAccessTime,
you can try to use that:

Untested:

'-----------------------------------------------------
' File to check in every 60 seconds
Dim myfile As New FileInfo("c:\file.exe")

' Optional ArrayList to log LastAccessTime
Dim logArrList As New ArrayList

' Assuming your timer's interval is 60000 ms
Private Sub Timer1_Tick(ByVal sender As Object, _
ByVal System.EventArgs) Handles Timer1.Tick

' Preferably add the last entry to an ArrayList
' to log item as DateTime type

logArrList.Add(myfile.LastAccessTime)

End Sub
'--------------------------------------------------------
Note that, with the code above, the LastAccessTime will be added your
ArrayList eventhough your file's LastAccessTime doesn't change. But
you must be sure to use that because of consuming excessive I/O cycle
and system resources in every 1 minute.

Hope this helps,

Onur Güzel
Oct 6 '08 #5
On Oct 6, 6:22*am, "Andy B" <a_bo...@sbcglobal.netwrote:
I need to look for things inside the file every minute even if the file
hasn't changed..
"Michel Posseth [MCP]" <M...@posseth.comwrote in messagenews:%2****************@TK2MSFTNGP05.phx.gb l...
Hello Andy ,
If you want an event driven aproach go for the file system watcher as this
can give you an event when a change took place in a file
so also when there are 2 changes within a minute you get 2 change events .
Ofcourse you could also just use a timer , read the file in a string
variabel and compare the 2 strings if the 2 strings are not the same the
file has changed
however this wil cost you more CPU / IO cycles
Use the filesystem watcher to get notified when a change on the file took
place , and then reread / process *the file
http://msdn.microsoft.com/en-us/libr...emwatcher.aspx
in the link i provided ( also in your previous post ) there is example
code included
in case you missed it
Public Class Watcher
* *Public Shared Sub Main()
* * * * Run()
* *End Sub
* *<PermissionSet(SecurityAction.Demand, Name:="FullTrust")_
* *Private Shared Sub Run
* * *Dim args() As String = System.Environment.GetCommandLineArgs()
* * * *' If a directory is not specified, exit the program.
* * * *If args.Length <2 Then
* * * * * *' Display the proper way to call the program.
* * * * * *Console.WriteLine("Usage: Watcher.exe (directory)")
* * * * * *Return
* * * *End If
* * * *' Create a new FileSystemWatcher and set its properties.
* * * *Dim watcher As New FileSystemWatcher()
* * * *watcher.Path = args(1)
* * * *' Watch for changes in LastAccess and LastWrite times, and
* * * *' the renaming of files or directories.
* * * *watcher.NotifyFilter = (NotifyFilters.LastAccess Or
NotifyFilters.LastWrite Or NotifyFilters.FileName Or
NotifyFilters.DirectoryName)
* * * *' Only watch text files.
* * * *watcher.Filter = "*.txt"
* * * *' Add event handlers.
* * * *AddHandler watcher.Changed, AddressOf OnChanged
* * * *AddHandler watcher.Created, AddressOf OnChanged
* * * *AddHandler watcher.Deleted, AddressOf OnChanged
* * * *AddHandler watcher.Renamed, AddressOf OnRenamed
* * * *' Begin watching.
* * * *watcher.EnableRaisingEvents = True
* * * *' Wait for the user to quit the program.
* * * *Console.WriteLine("Press 'q' to quit the sample.")
* * * *While Chr(Console.Read()) <"q"c
* * * *End While
* *End Sub
* *' Define the event handlers.
* *Private Shared Sub OnChanged(source As Object, e As
FileSystemEventArgs)
* * * *' Specify what is done when a file is changed, created, or deleted.
* * * *Console.WriteLine("File: " & e.FullPath & " " & e.ChangeType)
* *End Sub
* *Private Shared Sub OnRenamed(source As Object, e As RenamedEventArgs)
* * * *' Specify what is done when a file is renamed.
* * * *Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath,
e.FullPath)
* *End Sub
End Class
Michel Posseth [MCP]
http://www.vbdotnetcoder.com
"Andy B" <a_bo...@sbcglobal.netschreef in bericht
news:%2****************@TK2MSFTNGP06.phx.gbl...
What would i use to look for changes in a file every minute?
You should be able to make the assumption that what you have is
correct (as the file hasn't changed) if the FileSystemWatcher hasn't
told you otherwise.

Thanks,

Seth Rowe [MVP]
http://sethrowe.blogspot.com/
Oct 6 '08 #6
>I need to look for things inside the file every minute even if the file
>hasn't changed..
Huh !? why would you do so ,why would a program need to reread the same
values every minute ???
hint : if the contents / values in the file change the filesystem watcher
would raise an event

HTH
Michel


"Andy B" <a_*****@sbcglobal.netschreef in bericht
news:OK**************@TK2MSFTNGP03.phx.gbl...
>I need to look for things inside the file every minute even if the file
hasn't changed..
"Michel Posseth [MCP]" <MS**@posseth.comwrote in message
news:%2****************@TK2MSFTNGP05.phx.gbl...
>Hello Andy ,

If you want an event driven aproach go for the file system watcher as
this can give you an event when a change took place in a file
so also when there are 2 changes within a minute you get 2 change events
.

Ofcourse you could also just use a timer , read the file in a string
variabel and compare the 2 strings if the 2 strings are not the same the
file has changed
however this wil cost you more CPU / IO cycles
Use the filesystem watcher to get notified when a change on the file took
place , and then reread / process the file
http://msdn.microsoft.com/en-us/libr...emwatcher.aspx

in the link i provided ( also in your previous post ) there is example
code included
in case you missed it
Public Class Watcher

Public Shared Sub Main()

Run()

End Sub

<PermissionSet(SecurityAction.Demand, Name:="FullTrust")_
Private Shared Sub Run

Dim args() As String = System.Environment.GetCommandLineArgs()
' If a directory is not specified, exit the program.
If args.Length <2 Then
' Display the proper way to call the program.
Console.WriteLine("Usage: Watcher.exe (directory)")
Return
End If

' Create a new FileSystemWatcher and set its properties.
Dim watcher As New FileSystemWatcher()
watcher.Path = args(1)
' Watch for changes in LastAccess and LastWrite times, and
' the renaming of files or directories.
watcher.NotifyFilter = (NotifyFilters.LastAccess Or
NotifyFilters.LastWrite Or NotifyFilters.FileName Or
NotifyFilters.DirectoryName)
' Only watch text files.
watcher.Filter = "*.txt"

' Add event handlers.
AddHandler watcher.Changed, AddressOf OnChanged
AddHandler watcher.Created, AddressOf OnChanged
AddHandler watcher.Deleted, AddressOf OnChanged
AddHandler watcher.Renamed, AddressOf OnRenamed

' Begin watching.
watcher.EnableRaisingEvents = True

' Wait for the user to quit the program.
Console.WriteLine("Press 'q' to quit the sample.")
While Chr(Console.Read()) <"q"c
End While
End Sub

' Define the event handlers.
Private Shared Sub OnChanged(source As Object, e As
FileSystemEventArgs)
' Specify what is done when a file is changed, created, or
deleted.
Console.WriteLine("File: " & e.FullPath & " " & e.ChangeType)
End Sub

Private Shared Sub OnRenamed(source As Object, e As RenamedEventArgs)
' Specify what is done when a file is renamed.
Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath,
e.FullPath)
End Sub

End Class

Michel Posseth [MCP]
http://www.vbdotnetcoder.com



"Andy B" <a_*****@sbcglobal.netschreef in bericht
news:%2****************@TK2MSFTNGP06.phx.gbl...
>>What would i use to look for changes in a file every minute?



Oct 6 '08 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Mike | last post by:
Hello, I'm looking to create a PHP script that will automatically generate an index/menu/list (whatever) based on the PDF files that are within a particular directory. I would like the script...
8
by: Phoenix | last post by:
Here's a challenge that is killing me: I've got 2 web servers and a SQL Server and about 5,000 'users' who stay connected to the site all day. I have a page that is supposed to be 'real-time',...
14
by: Peter CCH | last post by:
Database log of my DB is around 2GB. The database is using FULL recovery option. I want to reduce the file size of the log cause it takes up a lot of space. I'd do a full database backup,...
2
by: blip | last post by:
Is this acceptable ? It seems too easy and too simple... #include<iostream> #include<fstream> #include<cstdlib> #include<string> struct Person{ char name ; int age ;
12
by: Boobie | last post by:
Looking for a REALLY BUSY, really active RSS feed (nothing xxx pls ;) Anyone knows of free one ? One that returns at least 20 new feeds every minute or so ? Need to test out an app. ...
8
by: Cider123 | last post by:
I ran into a situation where my Window Service had to process 100,000+ files, when I first noticed I needed to tweak various routines. Everything runs fine, but here's what I ran into: In the...
8
by: gumi | last post by:
Hi, I am looking for code for a alarm clock program that pops up a messege to be used as part of my VB.Net class project. Any help is very much appreciated. Thanks
8
by: Jonathan Wood | last post by:
I'm having a difficult time making the transition to .NET. I came up with some projects to get me started and, in every case, they involved tasks that were apparently difficult to accomplish and/or...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.