Я пытаюсь использовать это для мониторинга файла журнала и помещения строк журнала в базу данных по мере их поступления. У меня проблема в том, что кажется, что во время работы потока, содержащего мой TailerListener, я не могу удалить или переименоватьфайл журнала.В таком случае, я не уверен, как это отреагирует, когда файл журнала перевернется, что происходит ночью.Я взглянул на код для Tailer, и он, кажется, обрабатывает опрокидывание журнала, но я не вижу, как, когда отслеживаемый файл в основном заблокирован.
Не должно быть никаких причин, по которым файл нельзя удалить, как ятолько чтение из него.Я думаю, что, как только файл будет удален / переименован, он просто выдаст какой-то тип исключения.Тем более что, похоже, написано, что Tailer направлен на функциональность «tail -f».
Точная ошибка, которую я получаю при попытке удалить файл: «Это действие не может быть выполнено, потому что файл открытв Java (TM) Platform SE двоичный файл "
Вот пример кода из моего проекта:
public static void main(String[] args) {
// TODO code application logic here
File pcounter_log = new File("c:\development\temp\test.log");</p>
<pre><code> try {
TailerListener listener = new PCTailListener();
Tailer tailer = new Tailer(pcounter_log, listener, 5000);
Thread thread = new Thread(tailer);
thread.start();
} catch (Exception e) {
System.out.println(e);
}
}
<code>
public class PCTailListener extends TailerListenerAdapter {
public void handle(String line) {
System.out.println(line);
}
}
Любая информация по этому поводу, касающаяся, в частности, Tailer, обработки файлов в Java, всего, что может поставить меня на правильный путь, очень ценится.