class FileUtils{ /** * remove the target file or directory. * @param src the full path of the target file * @return true if the file or directory is successfully removed; false otherwise. */ static void rm(String src) { rm(src, null); } static void rmBySuffix(String path, String suffix) { rm(path, { it.endsWith(suffix) }) } static def rm(String src, Closure filter) { iterator(src, filter, { path -> rm(path, filter) }, { file -> file.delete() }); } static def cp(String src, String dsc) { def srcFile = new File(src); assert src != dsc; assert new File(srcFile).exists(); new File(dsc).setBytes(srcFile.getBytes()); } static def mv(String from, String to) { cp(from, to); rm(from); } static def mergeTo(String from, def to, Closure filter) { def toFile = to; if (to instanceof String) { toFile = new File(to); } iterator(from, filter, { mergeTo(it, toFile, filter) }, { toFile.append(it.getBytes()) }); } private static void iterator(String src, Closure filter, Closure directoryAction, Closure fileAction) { def file = new File(src); assert file.exists(); if (file.isDirectory()) { file.eachFile { directoryAction.call(it.getAbsolutePath()); } } if ((!filter) || filter.call(src)) { fileAction.call(file); } } }
def src = "c:/test.txt"; def dsc = "d:/test.txt"; //FileUtils.cp(src, dsc) //FileUtils.rmBySuffix("E:/workspace/groovy/src", "class") //FileUtils.mergeTo("c:/test/cc.txt", "d:/result.txt",{String path->path.endsWith("txt")}); //FileUtils.mergeTo("c:/test", "d:/result.txt",{String path->path.endsWith("txt")}); Utils.rmBySuffix("E:/workspace/groovy/src","class")
作为脚本语言,groovy对java的文件操作进行了扩展,利用这些扩展与脚本语言的灵活性,可以很方便的帮助我们快速编写工作脚本与批处理脚本。
相关推荐
无需安装任何额外软件,只需将压缩包解压,然后在解压后的"bin"目录下运行groovyConsole.bat文件,即可启动Groovy控制台,开始编写和执行Groovy脚本。 Groovy与Java兼容性极强,它可以无缝地与Java代码集成,可以...
为了方便地读取和解析这些配置文件,通常会创建一个工具类来封装操作。下面,我们将深入探讨如何在Java中实现一个YAML文件读取工具类,并介绍相关的技术点。 首先,我们需要引入一个能够处理YAML文件的库。在Java中...
Groovy代码可以被Java编译器理解,并且在运行时,GroovyShell或GroovyClassLoader等工具能够即时编译和执行Groovy脚本,这为动态加载和执行提供了便利。 当我们需要在Java程序中调用Groovy脚本时,可以使用以下步骤...
标题"redis操作工具类"暗示我们将讨论如何在Spring Boot应用中创建一个Redis操作的工具类,以便于对Redis进行便捷的CRUD(创建、读取、更新、删除)操作。这个工具类通常会利用`StringRedisTemplate`,它是Spring ...
groovy.stx文件则是语法规则文件,它包含了Groovy语言的语法结构,如类、方法、条件语句等。这个文件用于指导EditPlus如何理解和处理Groovy代码,使得代码的缩进、括号匹配等格式化功能得以实现。对于保持代码整洁和...
此外,还包含了GroovyShell、GroovyClassLoader等工具类,用于运行和加载Groovy脚本。 "groovy-gapi-1.7.2.chm" 文件则专注于Groovy的额外功能和库,如Groovy的脚本编写环境、Swing构建器、AntBuilder等。Groovy ...
2. **执行脚本**:打开命令行窗口,导航至包含hello.groovy文件的目录,然后输入`groovy hello`来运行脚本。 #### 四、Groovy脚本进阶 ##### 4.1 类和对象 Groovy中的类定义类似于Java,但更简洁: ```groovy ...
3. **标准库**:Groovy SDK附带了一套丰富的标准库,包含各种实用的类和函数,如文件操作、网络通信、日期和时间处理等。 4. **GroovyShell**和**GroovyConsole**:这两个工具分别用于交互式地运行Groovy脚本和提供...
这段代码创建了一个`Sql`对象,它是Groovy提供的一个便利类,用于简化JDBC操作。 2. **插入数据**(Create): 要向数据库插入数据,我们可以使用`executeUpdate`方法。例如,向名为`users`的表中插入一条记录: ...
- **命令行工具**:Groovy提供了一系列命令行工具,如`groovy`命令,用于执行Groovy脚本、评估表达式、处理输入流等。 - **脚本编辑与执行**:通过`groovy-i`命令可以对文本文件进行行内编辑,并保存原始文件的备份...
在压缩包文件名称“apache”中,可能包含的是Apache相关的库或者示例,Apache是开源软件项目的重要基石,很多Java和Groovy项目都会依赖Apache的相关组件,如Apache Commons库,它们提供了丰富的工具类和算法,对于...
4. 文件I/O和网络编程:学习如何使用Groovy进行文件操作和网络通信。 5. 测试与调试:掌握Spock测试框架,进行单元测试和集成测试。 6. 深入理解Groovy与Java的互操作性,以便在既有Java项目中无缝引入Groovy。 五...
- 在Java项目中,可以通过添加这个jar到项目的类路径(classpath)来启用Groovy支持。 - 可以编写Groovy脚本文件(`.groovy`),然后通过GroovyShell或GroovyScriptEngine来运行。 - 对于构建工具,如Maven或...
这个版本的Groovy包含了所有必要的二进制文件,使得用户可以直接在已经安装了JDK(Java Development Kit)的环境中运行和使用Groovy。JDK是运行和开发Java程序的基础,因为它包含了Java编译器、Java运行时环境以及...
- **元编程**:Groovy允许在运行时修改类和对象的行为,这使得它非常适合构建框架和库,比如Grails web框架就是基于Groovy构建的。 在4.0.1这个版本中,可能包含了对先前版本的一些改进和bug修复,以提升稳定性和...
5. **Groovy GDK (Groovy Development Kit)**: 扩展了Java标准库,提供了更多的便利方法和类,使Groovy代码更加简洁易读。 6. **GPars (Groovy Parallel Systems)**: GPars是Groovy的并行和并发处理库,支持数据流...
这里,我们导入了Java的`java.util.Date`类,并使用Groovy的字符串插值特性打印出当前日期和时间。 Groovy也提供了许多内置的工具和库,如Gradle构建工具,它是用Groovy编写的,允许开发者以更简洁的方式编写构建...