Бывает, что в процессе работы надо создать временный файл. Не проблема если ваш код (агент) сможет его потом сам удалить, но иногда надо этот файл отдать пользователю, например при генерации PDF или Excel файлов - открыть их в соответствующем приложении, отображающем их содержимое. Удалить такой файл ваш агент самостоятельно уже не сможет. Они копятся, копятся ...и, бах! место на диске кончилось. Утрирую, конечно, но вдруг...
Выдалась свободная минутка и озадачился решить эту проблему. После вскрытия пациента и анализа содержимого было выявлено, что Lotus Notes в своём временном каталоге создаёт файл ~notetmp.reg, куда записывает все свои временные файлы. При закрытии Lotus Notes пытается эти файлы удалить. Если не получилось, то пытается сделать это ещё раз при последующем запуске.
Стало быть для того, чтобы наши временные файлы были более-менее успешно удалены и пользователи не ругались на программистов нехорошими словами, что они им все жесткие диски чем-то загадили, надо записать имена наших временных файлов в лотусовый ~notetmp.reg - пусть он за нас их и удаляет. Сам же ~notetmp.reg не простой текстовый файл, но нас этим не напугаешь
Готовое решение link removed
Пример использования:
Выдалась свободная минутка и озадачился решить эту проблему. После вскрытия пациента и анализа содержимого было выявлено, что Lotus Notes в своём временном каталоге создаёт файл ~notetmp.reg, куда записывает все свои временные файлы. При закрытии Lotus Notes пытается эти файлы удалить. Если не получилось, то пытается сделать это ещё раз при последующем запуске.
Стало быть для того, чтобы наши временные файлы были более-менее успешно удалены и пользователи не ругались на программистов нехорошими словами, что они им все жесткие диски чем-то загадили, надо записать имена наших временных файлов в лотусовый ~notetmp.reg - пусть он за нас их и удаляет. Сам же ~notetmp.reg не простой текстовый файл, но нас этим не напугаешь
Готовое решение
Пример использования:
Java:
Session session = NotesFactory.createSession();
NotesTempFile tempFile = new NotesTempFile(session);
File file = tempFile.getTempFile("pdf");