package org.reprap.utilities; import java.io.*; import java.util.ArrayList; //import java.util.List; /** * Gets round the fact that Java DeleteOnExit() doesn't do it in the * right order. */ public class RrDeleteOnExit { private ArrayList<File> toDelete = null; public RrDeleteOnExit() { toDelete = new ArrayList<File>(); } public void add(File f) { toDelete.add(f); } public void killThem() { if(toDelete == null) return; for(int i = toDelete.size() - 1; i >= 0; i--) if(!toDelete.get(i).delete()) Debug.e("RrDeleteOnExit.killThem(): Unable to delete: " + toDelete.get(i).getAbsolutePath()); toDelete = null; } protected void finalize() throws Throwable { Debug.d("RrDeleteOnExit.finalise()"); killThem(); } }