Also ich hab auch vor kurzem ein Tool programmiert, bei dem ich Files, die nicht mehr benötigt werden, lösche.
Da hatte ich anfänglich auch so meine Probleme, aber jetzt funzt´s tadellos.
Interessant wäre, was genau in deiner Variable "pfad" drinsteht.
Kann es sein, das ein FileSeparator fehlt oder irgendsowas? Du solltes den gesamten Pfad samt separators und Filename + Extension angeben - wenn da was fehlt, geht nix!
Gib die Variable pfad einfach mal mit System.out.println uf die Konsole aus und überprüfe, ob das auch stimmen kann.
Und das, was Mike dir geraten hat ist natürlich auch wichtig!
Wenn du das File nach der benützung nicht mehr schließt, kannst es aufgrund einer Zugriffsverletzung auch nicht mehr löschen...