org.apache.commons.io
Class FileCleaner
java.lang.Object
org.apache.commons.io.FileCleaner
public class FileCleaner
extends java.lang.Object
Keeps track of files awaiting deletion, and deletes them when an associated
marker object is reclaimed by the garbage collector.
This utility creates a background thread to handle file deletion.
Each file to be deleted is registered with a handler object.
When the handler object is garbage collected, the file is deleted.
$Id: FileCleaner.java 289999 2005-09-18 23:12:45Z scolebourne $- Noel Bergman
- Martin Cooper
private static class | FileCleaner.Tracker - Inner class which acts as the reference for a file pending deletion.
|
private static ReferenceQueue | q - Queue of
Tracker instances being watched.
|
private static Thread | reaper - The thread that will clean up registered files.
|
private static Collection | trackers - Collection of
Tracker instances in existence.
|
static int | getTrackCount() - Retrieve the number of files currently being tracked, and therefore
awaiting deletion.
|
static void | track(File file, Object marker) - Track the specified file, using the provided marker, deleting the file
when the marker instance is garbage collected.
|
static void | track(String path, Object marker) - Track the specified file, using the provided marker, deleting the file
when the marker instance is garbage collected.
|
q
private static ReferenceQueue q
Queue of Tracker
instances being watched.
reaper
private static Thread reaper
The thread that will clean up registered files.
trackers
private static Collection trackers
Collection of Tracker
instances in existence.
getTrackCount
public static int getTrackCount()
Retrieve the number of files currently being tracked, and therefore
awaiting deletion.
- the number of files being tracked.
track
public static void track(File file,
Object marker)
Track the specified file, using the provided marker, deleting the file
when the marker instance is garbage collected.
file
- The file to be tracked.marker
- The marker object used to track the file.
track
public static void track(String path,
Object marker)
Track the specified file, using the provided marker, deleting the file
when the marker instance is garbage collected.
path
- The full path to the file to be tracked.marker
- The marker object used to track the file.