Несмотря на закрытие потоков в предложениях finally, я, похоже, постоянно сталкивается с проблемами при использовании Java. File.delete() не удаляет файлы, Windows Explorer тоже выходит из строя. Иногда Running System.gc() помогает, но ничего, кроме завершения работы виртуальной машины, постоянно поддерживается, и это не вариант.
Есть ли у кого-нибудь другие идеи, которые я мог бы попробовать? Я использую Java 1.6 в Windows XP.
UPDATE: образец кода FLAC удален, код работал, если я его изолировал.
UPDATE: Дополнительная информация, это происходит в Apache Tomcat, Commons FileUpload используется для загрузки файла и может быть виновником, также я использую Runtime.exec() для выполнения LAME в отдельном процессе для кодирования файла, но это вряд ли вызовет это поскольку ProcessExplorer четко указывает, что java.exe имеет блокировку RW в файле, а LAME прекращает работу.
UPDATE: Я работаю с предположением, что есть недостающие close() или close(), которые не вызываются где-то в моем коде или внешней библиотеке. Я просто не могу его найти!