Groups | Search | Server Info | Login | Register
Groups > comp.lang.java.programmer > #5367
| From | www <xsli2@yahoo.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: a program process a constantly updated file |
| Date | 2011-06-18 17:40 -0700 |
| Organization | http://groups.google.com |
| Message-ID | <30974ca8-32cf-43bd-afd6-9c0528882454@j25g2000vbr.googlegroups.com> (permalink) |
| References | <885b80e6-864a-4076-b559-65b2452ffe9f@ct4g2000vbb.googlegroups.com> <itg3ts$rd7$1@dont-email.me> <itg4si$3dt$1@dont-email.me> |
Thank you very much.
Based on what I found from google, I have made the following code. It
is very short and works well. It needs two extra apache jar files
which are available from web:
commons-vfs-1.0.jar
commons-logging-1.1.1.jar
<<FileMonitor.java>>
package test;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
import org.apache.commons.vfs.FileChangeEvent;
import org.apache.commons.vfs.FileListener;
import org.apache.commons.vfs.FileObject;
import org.apache.commons.vfs.FileSystemException;
import org.apache.commons.vfs.FileSystemManager;
import org.apache.commons.vfs.VFS;
import org.apache.commons.vfs.impl.DefaultFileMonitor;
public class FileMonitor implements FileListener
{
public static void main(final String[] args) throws Exception
{
final String inputFileName = "C:\\Program Files (x86)\\temp\
\file_to_be_monitored.txt";
try
{
final FileSystemManager fsManager = VFS.getManager();
final FileObject listendir =
fsManager.resolveFile(inputFileName);
final DefaultFileMonitor fm = new DefaultFileMonitor(new
FileMonitor());
fm.setRecursive(true);
fm.addFile(listendir);
fm.start();
fm.run();
}
catch(final FileSystemException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void fileChanged(final FileChangeEvent fe) throws Exception
{
System.out.println("file changed.");
}
public void fileCreated(final FileChangeEvent fe) throws Exception
{
System.out.println("file created");
//// what ever you need to just write here
}
public void fileDeleted(final FileChangeEvent fe) throws Exception
{
System.out.println("file deleted");
}
}
</End FileMonitor.java>
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
a program process a constantly updated file www <xsli2@yahoo.com> - 2011-06-17 10:15 -0700
Re: a program process a constantly updated file www <xsli2@yahoo.com> - 2011-06-17 10:43 -0700
Re: a program process a constantly updated file Jeff Higgins <jeff@invalid.invalid> - 2011-06-17 13:51 -0400
Re: a program process a constantly updated file Jeff Higgins <jeff@invalid.invalid> - 2011-06-17 14:07 -0400
Re: a program process a constantly updated file www <xsli2@yahoo.com> - 2011-06-18 17:40 -0700
Re: a program process a constantly updated file Roedy Green <see_website@mindprod.com.invalid> - 2011-06-19 11:12 -0700
csiph-web