2015-04-27 4 views
1

Я использую адаптер входящего канала sftp с пользовательским удаленным фильтром. Если фильтр принимает этот файл, он обрабатывается позже и удаляется штрафом, поскольку я устанавливаю свойство «true» для удаленного удаления.ошибка входящего файла адаптера канала sftp

Теперь, когда мой файл не обрабатывается успешно и выбрасывает исключение, то я поймать это исключение и хотите переместить локально загрузить файл на someother место, но когда я сделать это с помощью FileUtils.forceDelete то бросает исключение,

Java. io.IOException: Не удается удалить файл:

Похоже, что в этом файле есть блокировка. Есть ли способ узнать, кто владеет замком и как его освободить, чтобы мой слушатель мог переместить его в другое место.

ответ

1

не обрабатывается успешно и бросает исключение

необходимо закрыть файл в конце концов блока так что ваша логика обработки всегда будет закрывать файл.

+0

Спасибо за этот намек. Я закрывал все потоки, кроме одного. Вот как мой код выглядел как zis = новый ZipInputStream (новый FileInputStream (sourceFileName)); теперь я закрывал zis, но не fileinputstream. Поэтому я создал локальную переменную для FIS и закрыл ее сначала, а затем ZIS, и решил проблему. Я также использовал инструмент Windows во время отладки кода, чтобы узнать, какая строка кода блокировала его. – user509755

Смежные вопросы