2014-02-28 3 views
1

Мне нужно выбрать frameWork, аналогичный сервису watch, доступному на Java7. Какая хорошая альтернативная структура для отслеживания изменений в файловой системе.Какая хорошая альтернатива Java7 WatchService?

заранее спасибо

+1

Как это связано с JavaScript? –

+0

просто сказать, что я открыт для альтернатив javascript. – Genjuro

ответ

3

Вы можете использовать библиотеку событий JNotify. Это позволяет Java-приложению прослушивать события файловой системы, такие как создание, изменение, переименование, удаление.

jnotify Link

2

если вы используете nodeJS. Chokidar очень интересно. Чистая обертка вокруг node.js fs.watch/fs.watchFile.

var chokidar = require('chokidar'); 

var watcher = chokidar.watch('file or dir', {ignored: /[\/\\]\./, persistent: true}); 

watcher 
    .on('add', function(path) {console.log('File', path, 'has been added');}) 
    .on('addDir', function(path) {console.log('Directory', path, 'has been added');}) 
    .on('change', function(path) {console.log('File', path, 'has been changed');}) 
    .on('unlink', function(path) {console.log('File', path, 'has been removed');}) 
    .on('unlinkDir', function(path) {console.log('Directory', path, 'has been removed');}) 
    .on('error', function(error) {console.error('Error happened', error);}) 

// 'add', 'addDir' and 'change' events also receive stat() results as second argument. 
// http://nodejs.org/api/fs.html#fs_class_fs_stats 
watcher.on('change', function(path, stats) { 
    console.log('File', path, 'changed size to', stats.size); 
}); 

watcher.add('new-file'); 
watcher.add(['new-file-2', 'new-file-3']); 

// Only needed if watching is persistent. 
watcher.close(); 

// One-liner 
require('chokidar').watch('.', {ignored: /[\/\\]\./}).on('all', function(event, path) { 
    console.log(event, path); 
}); 
Смежные вопросы