Why JxFileWatcher

Simple Integration

Watching All File Events

import com.teamdev.filewatch.FileEvent;
import com.teamdev.filewatch.FileEventsListener;
import com.teamdev.filewatch.FileWatcher;

import java.io.File;
import java.util.logging.Logger;

 * This example demonstrates how to monitor all file system events in a watching folder.

public class WatchingAllFileEvents {

    public static void main(String[] args) throws Exception {
        final Logger logger = Logger.getLogger(WatchingAllFileEvents.class.getName());

        File tempFile = File.createTempFile("tmp", "tmp");
        File watchingFolder = tempFile.getParentFile();

        FileWatcher watcher = FileWatcher.create(watchingFolder);

        watcher.addFileEventsListener(new FileEventsListener() {
            public void fileAdded(FileEvent.Added e) {

            public void fileDeleted(FileEvent.Deleted e) {

            public void fileChanged(FileEvent.Changed e) {

            public void fileRenamed(FileEvent.Renamed e) {


        System.out.println("File watcher started. Press 'Enter' to terminate applicaiton.");   

        System.out.println("File watcher stopped.");


Observing Basic File Operations

Watch for creation, renaming or removal of files and subfolders within any specified folder.

Support for Different File Systems

JxFileWatcher supports different file system types and always uses the best algorithm for monitoring file system events in a specified watching directory.

File Access Monitoring

You will be able to receive notifications about events when access or modification date is changed.

Limit Watching Scope

You can watch for all file events or just for specified by the event and file filters. The files can be watched inside the selected folder only or including all its subfolders.

Watch Properties Change

Be notified about any changes to file size and attributes. These are System, Hidden, Read only and Archived attributes for Windows platforms, and Read, Write and Execute attributes for Linux and Mac systems.

Try the Demo

Run The Demo jxfilewatcherdemo.jnlp

Runs on Windows, Mac OS X & Linux with:

Examples of Apps Our Customers Build

Java applications which need to monitor folders. For example, a media management application that should be notified when user adds a new media file to a watched folder.

Getting Help

Contact Support

During evaluation period please use the email address, provided to you in the evaluation email.

If you have an active support subscription, please use the email address, provided to you in the email confirming the license purchase.

Ask a Question

You can ask a question on our product forum. In order to do it, you will need a Google ID.


Send email: jxfilewatcher-forum@teamdev.com
Your message will be automatically posted on the web.

Evaluation SupportProvided for 30 days

Support Evaluation

Standard SupportProvided for one year with 25% discount for renewal

Support Standard

Premium SupportContract-based time and materials service

Support Premium
Help with the product use Help with the product use Help with the product use
Response within one business day Response within one business day Response within one business day
Provided by email Provided by email Provided by email
Product updates Product updates
Phone, chat and remote desktop
Feature development
Priority issue resolution
Evaluate for Free Request Renewal Request Premium
Working with people in your own building can be difficult let alone across countries and oceans but nobody comes close to matching your expertise, professionalism, creativity and customer service. Thanks again TeamDev! Sundeep Patel, IORAD
…Your support is genuinely as top notch as your products are. Bruce Mager, Civil Service Superannuation Board

Licensing and Pricing

License use is governed by the product license agreement

  • Perpetual Licence Perpetual license
  • Free Distribution Free distribution within your application
  • Support Updates 1 year Support and updates
  • 25% Discount Support renewal with 25% discount
  • 15% Discount 15% discount on TeamDev products

Per Developer $399

  • Developer 1 developer
  • Unlimited Projects Unlimited projects
  • Support 55 hours of support for 1 year
Buy Now

Project $1,099

  • Developers Unlimited developers
  • Project 1 project
  • Support 75 hours of support for 1 year
Request License

Company-wide $3,799

  • Developers Unlimited developers
  • Unlimited Projects Unlimited projects
  • Support 100 hours of support for 1 year
Request License

Source Code For 1 Developer

Developers License for more developers
is also available for purchase

Frequently Asked Questions

Technical Questions

Yes, you can use it if you include jxfilewatcher-1.4.partial.jar to application classpath instead of jxfilewatcher-1.4.jar.

No, JxFileWatcher does not use this approach. It always uses file system notifications to detect the changes.

JxFileWatcher reports all file system events to its listeners and number of events greatly depends on the file watcher settings and a watched folder.

Yes, JxFileWatcher provides the support of these platforms. However, in order to enable video capturing ability in JxFileWatcher, you may need to enable “Media Foundation” and "Desktop Experience" features on those platforms correspondingly.

In fact capturing of the scrollable window contents greatly depends on an application itself, so there is no such utility available in JxFileWatcher.

Licensing Questions

Our licensing is based on versions of JxFileWatcher. Having purchased the license for our product you get the right to use the current major version of the product.

Runtime License is provided free of charge.

Major and minor version upgrades issued during your active Standard Support subscription period are free of charge. Upon expiration of the Standard Support subscription you can renew it with a 25% discount from the actual license price.

You only need to purchase 2 licenses. We license our library by the number of people who write code using our library.

You can distribute unlimited number of copies of your product with our library enclosed.

You may want to purchase a Project License, which is cost-effective in case there are 3 and more developers on the team. The Project License is bound to a single project you do, but it allows any number of developers in your company to work with our library.

Project License is bound to your project via a fully-qualified class name. A fully-qualified name for a class is the package name followed by the class name, separated by a period (.). For example: com.mycompany.myproduct.MyClass

This can be any class of your application. The only requirement is that it should be included into your Java application class path.

When we say “project” we have in mind one product of your company including your future product versions or potential derivative works based on your product.

The Project License is tied to one project only.

The best solution would be to purchase the Company–wide License, which covers any number developers and projects in one company.

Upon the license purchase you will receive an archive with two types of license files: development and runtime. Development license is intended to be used in the development process. Runtime license is to be used for distribution of your software with JxFileWatcher enclosed.

Yes, you can purchase JxFileWatcher Source Code License; it is provided on a per developer basis. Please contact our sales team if you are interested in this option.

If you are doing an open source or academic project, you can apply to get a free license. Please submit a request via Open Source or Academic tab on the evaluation form.

Thank you!

Start your free trial in few simple steps


Check Your Email

Links to download your evaluation license and distribution archive will arrive at your inbox in a few minutes.

If the message gets lost in your mailbox, try searching for an email from JxFileWatcher Evaluation Support with “Your Free 30 Days Trial” subject.


Install the License

To start using JxFileWatcher

  • download your evaluation license,
  • download and extract the distribution archive,
  • include all the JAR files from the lib directory and evaluation license licence.jar in your application class path.

Get Started

Check out the Documentation articles to get JxFileWatcher up and running in no time.


Check out the ready-made examples for instructions and ideas on what you can do with your newly gotten JxFileWatcher.


Commercial Open Source Academic

With this license you will be able to evaluate our product for 30 days.
The evaluation license will not work after this time, so you will need to purchase the license.

With this license you will be able to evaluate our product for 30 days.
The evaluation license will not work after this time. If you are doing an open source project, you can request a permanent license via the link provided in the email you will receive.

With this license you will be able to evaluate our product for 30 days.
The evaluation license will not work after this time. You can request a license for duration of your academic project via the link provided in the email you will receive.

You should have an existing open source project which has commits and some life period of the project.

We can provide licenses only for projects distributed under non-viral license (LGPL, Apache, etc.). Our library is proprietary and we will not be able to disclose its code.

  • I have read and agree to the terms of the product license agreement
  • We collect your personal information to identify you as our customer and provide you with our products and services.
    Check out our privacy statement.

    I agree to processing of my personal information.
  • We would like to send you information on upgrades and offers whenever we feel the new version or product is useful for your development.
    You can unsubscribe from emailing at any time.

    I agree to receive suggestions for products upgrades and offers.