遇到一个批量文本修改的Job,开始准备用UltraEdit出卖苦力,后来想起〈Promatic Programer〉的教导,决定拿Groovy小试一下,结果11行代码完成任务。
import java.io.File
def dir = new File("d:/test")
dir.eachFile
{file ->
def fileStr = file.getText()
def newStr = fileStr.replaceAll('<field name=".')
{oldStr ->
oldStr.substring(0, oldStr.length() -1) + oldStr.getAt(oldStr.length()-1).toLowerCase()
}
file.write(newStr)
}
从这段代码可以瞧出的Groovy feature:
1. 超简约的闭包功能实现了dir.eachFile()和string.replaceAll(),代替了Iterator,匿名内部类一类的家伙,抵赞;
2 .IO系统大幅简化,file可以直接get/writeText,不搞什么IOStream。兼有eachFile这样的目录遍历函数;
3.不易察觉的添补了一点API,比如String类小小添补了一个 String getAt(int index),很贴心。
用IDEA插件来编辑和运行,慢慢适应Groovy语法之后,除了IDE没有函数弹出提示外,一切还好。
分享到:
相关推荐
1. **创建Groovy文件**:使用文本编辑器创建一个名为hello.groovy的文件,并输入以上代码。 2. **执行脚本**:打开命令行窗口,导航至包含hello.groovy文件的目录,然后输入`groovy hello`来运行脚本。 #### 四、...
4. **目录操作**:`directory_01.groovy` 可能包含了处理文件系统目录的代码,Groovy提供了一系列的类和方法来操作文件和目录,如`java.io.File`和`java.nio.file`包。 5. **字符串操作**:`string_01.groovy` 可能...
Groovy是一种动态、灵活的编程语言,它是Java平台上的一个强类型、静态类型的脚本语言。Groovy结合了Java的面向对象特性和Python、Ruby的简洁语法,使得它成为Java开发者进行快速开发、自动化任务以及编写简洁代码的...
在Java开发中,Groovy是一种强大的、动态类型的脚本语言,它可以无缝地与Java代码集成,为开发者提供了更简洁、灵活的语法。本文将深入探讨在Java项目中使用Groovy的三种主要方式,并阐述它们各自的优势和应用场景。...
完成文本界面的程序框架"这个主题中,我们将深入探讨如何使用Groovy构建一个简单的文本界面程序。 首先,让我们了解Groovy的基本语法特点。Groovy允许开发者使用更接近自然语言的语法,比如省略分号和大括号。例如...
然后,定义一个 Groovy bean,例如 helloWorldService,使用 script-source 属性指定 Groovy 脚本的位置,并使用 property 元素设置该脚本的属性值。 在 Spring 中,可以设置默认的延时刷新时间,以便在 Groovy ...
Groovy是一种动态、灵活的编程语言,它是Java平台上的一个扩展,可以无缝集成到Java项目中。Groovy的语法简洁,支持面向对象编程、函数式编程,并提供了许多现代语言特性,如闭包和动态类型。这使得Groovy成为快速...
在Groovy编程语言中,Map是一种非常重要的数据结构,它用于存储键值对。在本篇博客中,我们将深入探讨Groovy中Map的基本操作,特别是通过标题和描述中给出的例子。 首先,创建一个Map非常简单。例如,`def map = [a...
Groovy是一种动态、灵活的编程语言,它在Java平台上运行,并与Java紧密集成。Groovy提供了许多简化开发的特性,使得编写代码更加简洁和高效。本文将深入探讨Groovy的基本操作,包括语法特性、数据类型、控制结构以及...
此外,Groovy对类的声明、脚本编写、GroovyBeans的使用以及文本、数字、列表、映射和范围的操作都有简洁直观的处理方式。 Groovy的数据类型是完全以对象为中心的。在Groovy中,所有的类型都被视为对象,这包括基本...
通过上述步骤,您已经完成了在 Eclipse 中安装 Groovy 插件的过程,并学会了如何使用 Groovy 进行基本的编程操作。Groovy 是一种灵活且功能强大的脚本语言,非常适合用于自动化任务、单元测试以及快速应用开发等领域...
- **函数与方法**:支持定义函数和方法,包括闭包的使用,闭包是Groovy的一个强大特性,它允许创建可传递的匿名函数。 - **异常处理**:提供异常处理机制,如`try-catch-finally`块。 #### 四、运算符 Groovy支持...
Groovy是一种动态、开源的编程语言,它是Java平台上的一个JVM(Java Virtual Machine)语言。Groovy结合了Python、Ruby和Perl等脚本语言的简洁性和灵活性,并且完全兼容Java,可以无缝地与Java代码集成。在"groovy-...
Groovy是一种基于Java平台的、动态的、强大的编程语言,它设计的目标是增强开发者的生产力。Groovy结合了Java的静态类型系统和Python、Ruby等动态语言的灵活性,使得开发者可以更加高效地编写代码。本篇文章将深入...
总的来说,Groovy SDK 4.0.3是一个完整的开发环境,它为Groovy开发者提供了编写、测试和运行代码所需的所有工具,是学习和使用Groovy语言的重要资源。通过安装和配置这个SDK,你可以开始探索Groovy的动态世界,体验...
本文将深入探讨如何使用Groovy脚本进行文件操作,包括文件的创建、读取、写入、删除等基本操作,以及更高级的操作,如文件过滤和搜索。通过实际的代码示例,我们将展示Groovy在文件操作中的优雅和力量。 Groovy提供...
Groovy的代码风格倾向于简洁和表达式丰富,例如在Groovy中可以直接使用true或false作为条件表达式,这是Groovy的动态类型特性之一。Groovy代码中的类声明和方法定义相比Java也更为简便。 5. Groovy的数据类型 ...
Groovy还支持注释、类声明、脚本执行、GroovyBeans、文本处理、数字操作等功能,为开发者提供了丰富的工具箱。 ### 数据类型与操作 在Groovy中,所有的东西都是对象,即使是基本类型也会自动封装为对应的对象。这...