Register a shutdown hook to destroy the resource cache directory when

the JVM exits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2539 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Ray Greenwell
2003-05-03 00:45:36 +00:00
parent 9643db4632
commit c3737ca73f
@@ -1,5 +1,5 @@
//
// $Id: ResourceManager.java,v 1.25 2003/04/27 03:27:33 mdb Exp $
// $Id: ResourceManager.java,v 1.26 2003/05/03 00:45:36 ray Exp $
package com.threerings.resource;
@@ -171,6 +171,29 @@ public class ResourceManager
"won't be able to create our cache directory " +
"either. [error=" + se + "].");
}
// Add a hook to blow away the temp directory when we exit
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run ()
{
File dir = ResourceBundle.getCacheDir();
Log.info("Deleting narya temp cache directory '" + dir + "'.");
recursiveDelete(dir);
}
protected void recursiveDelete (File file)
{
if (file.isDirectory()) {
File[] files = file.listFiles();
for (int ii = 0; ii < files.length; ii++) {
recursiveDelete(files[ii]);
}
}
if (!file.delete()) {
Log.warning("Failed to delete " + file + ".");
}
}
});
}
/**