Файл изменил слушателя в Java

Вместо использования специальной функции сравнения вы также можете создать тип объекта с помощью специального метода toString() (который вызывается функцией сравнения по умолчанию):

function Person(firstName, lastName) {
    this.firtName = firstName;
    this.lastName = lastName;
}

Person.prototype.toString = function() {
    return this.lastName + ', ' + this.firstName;
}

var persons = [ new Person('Lazslo', 'Jamf'), ...]
persons.sort();
101
задан cheng81 30 January 2009 в 08:21
поделиться

8 ответов

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

, Например, j2ee серверы приложений как Tomcat и другие имеют автоматическую функцию загрузки, где в том, как только изменения дескриптора развертывания или класс сервлета изменяет перезапуски приложения.

можно пользоваться библиотеками с таких серверов, как большая часть кода кота является допускающей повторное использование и с открытым исходным кодом.

21
ответ дан Rutesh Makhijani 5 November 2019 в 11:41
поделиться

Если Вы готовы расстаться с небольшим количеством денег, JNIWrapper является полезной библиотекой с Winpack, Вы сможете получить события файловой системы на определенных файлах. К сожалению, окна только.

См. https://www.teamdev.com/jniwrapper.

Иначе, обращаясь к собственному коду не всегда плохая вещь особенно, когда лучшим предлагаемым является механизм опроса по сравнению с собственным событием.

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

2
ответ дан MC Emperor 5 November 2019 в 11:41
поделиться

"Функции More NIO" имеют функциональность часов файла с зависящим от реализации на базовую ОС. Должен быть в JDK7.

3
ответ дан Tom Hawtin - tackline 5 November 2019 в 11:41
поделиться

Существует lib, названный jnotify, который переносит inotify на Linux и имеет также поддержку окон. Никогда не использовал его, и я не знаю, насколько хороший это, но это стоит попытки, которую я сказал бы.

27
ответ дан André 5 November 2019 в 11:41
поделиться

Я использую API VFS от Apache палата общин, вот пример того, как контролировать файл без большого влияния в производительности:

DefaultFileMonitor

39
ответ дан Stelios Adamantidis 5 November 2019 в 11:41
поделиться

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

Java 7, как часть NIO.2 добавила WatchService API

WatchService API, разработан для приложений, которые должны быть уведомлены о событиях изменения файла.

112
ответ дан Jason Axelson 5 November 2019 в 11:41
поделиться

Существует коммерческая кросс-десктопная библиотека для просмотра файлов и папок под названием JxFileWatcher. Его можно скачать отсюда: http://www.teamdev.com/jxfilewatcher/

Также вы можете увидеть это в действии в Интернете: http://www.teamdev.com/jxfilewatcher/onlinedemo/

1
ответ дан 24 November 2019 в 04:40
поделиться

Вы также можете рассмотреть Apache Commons JCI (интерфейс компилятора Java). Хотя этот API, похоже, ориентирован на динамическую компиляцию классов, он также включает классы в свой API, который отслеживает изменения файлов.

Пример: http://commons.apache.org/jci/usage.html

1
ответ дан 24 November 2019 в 04:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: