Dón*_*nal 18
你可以简单地通过添加@Singleton注释使任何类成为单例(至少从groovy v 1.7.0开始):
@Singleton
class MyClass {
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用访问单例实例
MyClass singleton = MyClass.instance
Run Code Online (Sandbox Code Playgroud)
我想你问Groovy是否提供了一个每次更改文件时调用的监听器?我不知道Groovy中有任何这样的工具.如果存在这样的类,则更有可能找到Java实现(可以在Groovy程序中使用).
关于Q2:虽然groovy本身没有提供任何方式来通知文件更改,但Java 7可以与groovy一起使用.
特别是,如果要foo
在当前目录中查看文件的文件更改,可以执行以下操作:
import java.nio.file.*
FileSystems.default.getPath(".") // dot for current directory
def watchKey = p.register(FileSystems.default.newWatchService(),
StandardWatchEventKinds.ENTRY_MODIFY)
def events = watchKey.pollEvents()
events.findAll{it.context().fileName == 'foo'}.each { event ->
println "foo was changed"
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3928 次 |
最近记录: |