java watcher service_JAVA File Watcher Service

publicstaticvoidmain(String[] args)throwsIOException

{

try

{

WatchService watcher = FileSystems.getDefault().newWatchService();

Path watchedDir = Paths.get("C:\\Users\\Administrator\\workspace\\test");

WatchKey key = watchedDir.register(watcher, StandardWatchEventKinds.ENTRY_CREATE, StandardWatchEventKinds.ENTRY_DELETE,StandardWatchEventKinds.ENTRY_MODIFY);

System.out.println("Watching "+ watchedDir);

while(true)

{

key = watcher.take();

for(WatchEvent> event: key.pollEvents())

{

WatchEvent.Kind> kind = event.kind();

WatchEvent ev = (WatchEvent)event;

Path pathName = ev.context();

if(kind == StandardWatchEventKinds.ENTRY_MODIFY)

System.out.println(pathName + " modified!");

elseif(kind == StandardWatchEventKinds.ENTRY_DELETE)

System.out.println(pathName+" deleted");

else{

System.out.println(pathName + "created");

}

}

key.reset();

}

}catch(InterruptedException e) {

//TODO 自动生成的 catch 块e.printStackTrace();

}

}

输出:

Watching C:\Users\Administrator\workspace\test

test7.txt deleted

test8.txtcreated

test8.txt modified!

newFilecreated

newFile modified!

newFile modified!

newDircreated

newDir modified!

.newFile.swpcreated

.newFile.swp modified!

.newFile.swpxcreated

.newFile.swpx modified!

.newFile.swpx deleted

.newFile.swp deleted

.newFile.swpcreated

.newFile.swp modified!

.newFile.swp modified!

.newFile.swp modified!

newFile~created

newFile~ modified!

newFile~ modified!

newFile~ modified!

newFile~ modified!

newFile~ modified!

newFile modified!

newFile modified!

newFile~ deleted

.newFile.swp modified!

.newFile.swp deleted

newDir deleted

newFile deleted

test8.txt deleted

新建文件夹 deleted

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍一下 Java 中 ZooKeeper 的简单使用。 首先,您需要通过 Maven 或 Gradle 将 ZooKeeper 客户端库添加到您的项目中。然后,您可以使用以下代码连接到 ZooKeeper 服务器: ```java String connectionString = "localhost:2181"; int sessionTimeout = 5000; Watcher watcher = event -> System.out.println("Event received: " + event); ZooKeeper zk = new ZooKeeper(connectionString, sessionTimeout, watcher); ``` 在这个例子中,我们使用本地的 ZooKeeper 服务器,并设置了一个会话超时时间为 5000 毫秒。我们还提供了一个 Watcher 对象来处理来自 ZooKeeper 的事件。 接下来,您可以使用 ZooKeeper API 来执行各种操作,例如创建节点、读取节点数据、设置节点数据等。例如,要创建一个节点,您可以使用以下代码: ```java String path = "/myNode"; byte[] data = "myData".getBytes(); CreateMode createMode = CreateMode.PERSISTENT; zk.create(path, data, ZooDefs.Ids.OPEN_ACL_UNSAFE, createMode); ``` 这将在 ZooKeeper 中创建一个名为 "/myNode" 的持久节点,并将其数据设置为 "myData"。 同样,您可以使用以下代码读取节点数据: ```java String path = "/myNode"; byte[] data = zk.getData(path, false, null); String dataStr = new String(data); System.out.println("Data of node " + path + ": " + dataStr); ``` 这将从 ZooKeeper 中读取 "/myNode" 节点的数据,并将其打印到控制台上。 这只是 ZooKeeper API 的一小部分,您可以根据需要进行更多操作。希望这可以帮助您开始使用 Java 中的 ZooKeeper!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值