groovy 文件操作,对java原有的io进行了扩展,增加了许多闭包后省去了很多逻辑无关代码,同时自动进行资源管理和异常处理。
读取文件内容:
使用java代码的基本写法:
FileInputStream fin = null;
try {
fin = new FileInputStream("test.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fin));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
}
catch (FileNotFoundException e) {
// TODO: handle exception
}
catch (IOException e) {
// TODO: handle exception
}
finally {
try {
if (fin != null) {
fin.close();
}
}
catch (IOException e2) {
// TODO: handle exception
}
}
对一个文件进行读取的时候,基本上都会用到上面的代码,重复的写这些代码让人感觉很枯燥,同时在阅读
这样的代码的时候也极易干扰视线。真正要干的事情也就是把文件内容输出而已。
而在groovy中输出文件的内容仅需要一行代码
println new File("test.txt").text
代码里没有流的出现,没有资源关闭的出现,也没有异常控制的出现,所有的这些groovy已经搞定了。
看到这样的代码是否有种清风拂面的感觉呢?呵呵!
下面介绍下groovy中File的一些接口:
1、对文件内容的操作
File file = new File('C:\\Users\\berdy\\Desktop\\test.txt')
//使用系统默认的编码处理文件流
file.eachLine {println it }
//指定处理流的编码
file.eachLine("utf8") {println it }
//指定文件内容行标的起始数字,默认为1,根据需要设置为其他数值
file.eachLine("utf8",10) {str,lineNumber->
println str
println lineNumber }
//对文件内容的每一行进行分割处理,比较常用在处理csv文件
file.splitEachLine(",") {println it }
//在闭包中定义过滤逻辑,对文件内容进行过滤处理
file.filterLine {String str->
if (str.contains('code'))
println str
}.writeTo(new PrintWriter(System.out))
file.append('hello world!')
//转为Writable对象,可重定向输出
file.asWritable()
2、对目录进行操作
File file = new File('.')
file.eachFileMatch(~/.*\.txt/) {File it-> println it.name } //使正则表达式匹配文件名
file.eachFileMatch(FILES, ~/.*\.txt/) { File it-> println it.name }
new File(".").eachFileRecurse {
println it.getPath();
}
分享到:
相关推荐
Groovy,作为一种动态语言,以其简洁的语法和强大的功能在Java虚拟机(JVM)上运行,为文件操作提供了一个非常灵活和强大的工具。本文将深入探讨如何使用Groovy脚本进行文件操作,包括文件的创建、读取、写入、删除...
然而,在实际操作中,直接在微服务项目中添加.Groovy文件会面临一些挑战。比如,当我们在代码中引入一个新的对象时,由于IDE(如Eclipse)无法识别到该对象所依赖的包,会出现编译器报错,对象下方会显示一条波浪线...
Java IO流和文件操作实现过程解析 Java IO流和文件操作实现过程解析是Java语言中的一种基本操作,IO流是Java中处理输入输出的基础。Java中的IO流主要包括两种类型:字节流和字符流。字节流用于处理二进制数据,而...
6. **文件操作** Groovy提供了简单的方法来处理文件和目录。这些Groovy文件可能包含了读取、写入、移动或操作其他文件的代码,如`Guangfa201602.groovy`可能涉及广发银行2016年2月的数据处理。 综上所述,这个...
通过上述步骤,您已经完成了在 Eclipse 中安装 Groovy 插件的过程,并学会了如何使用 Groovy 进行基本的编程操作。Groovy 是一种灵活且功能强大的脚本语言,非常适合用于自动化任务、单元测试以及快速应用开发等领域...
通过执行这个exe文件,用户可以在系统上快速配置好Groovy环境,包括设置PATH变量、安装Groovy解释器和相关工具。安装过程中,用户可以选择自定义安装路径,以便更好地管理开发环境。 安装Groovy后,开发者可以使用...
在IT行业中,Groovy常被用于快速开发、脚本编写以及自动化任务,尤其在处理数据库操作时,其简洁的语法使得数据库的增删改查(CRUD)变得更加高效。 在“groovy脚本实现对数据库的增删改查”这个主题中,我们将深入...
3. **标准库**:Groovy SDK附带了一套丰富的标准库,包含各种实用的类和函数,如文件操作、网络通信、日期和时间处理等。 4. **GroovyShell**和**GroovyConsole**:这两个工具分别用于交互式地运行Groovy脚本和提供...
- **脚本编辑与执行**:通过`groovy-i`命令可以对文本文件进行行内编辑,并保存原始文件的备份。 - **类与脚本**:Groovy中的类声明与Java类似,默认访问修饰符为public。同时,Groovy支持定义脚本并使用`...
- 可以编写Groovy脚本文件(`.groovy`),然后通过GroovyShell或GroovyScriptEngine来运行。 - 对于构建工具,如Maven或Gradle,可以通过配置依赖项来使用这个版本的Groovy。 5. **Groovy的应用场景** - **脚本...
6. **bin目录下的脚本**:每个脚本都有相应的Windows批处理文件(.bat)和Unix/Linux shell脚本(.sh),确保在不同操作系统上都能正常工作。 Apache Groovy提供了一些独特的特性,例如: - **简洁的语法**:...
"groovy-api-1.7.2.chm" 文件包含了Groovy核心API的详细文档,涵盖了Groovy的基础类、语法特性、内置类型以及各种操作符。这些API包括了GroovyObject接口,它是所有Groovy类的基类,提供了诸如`invokeMethod`和`...
4. **目录操作**:`directory_01.groovy` 可能包含了处理文件系统目录的代码,Groovy提供了一系列的类和方法来操作文件和目录,如`java.io.File`和`java.nio.file`包。 5. **字符串操作**:`string_01.groovy` 可能...
4. 文件I/O和网络编程:学习如何使用Groovy进行文件操作和网络通信。 5. 测试与调试:掌握Spock测试框架,进行单元测试和集成测试。 6. 深入理解Groovy与Java的互操作性,以便在既有Java项目中无缝引入Groovy。 五...
Groovy 2.5.5版本的官方文档是一个详细的手册,其内容涵盖了从基础语法到高级特性,包括语言规范、程序结构、操作符、对象导向编程和类型系统等方面。以下是对文档内容的详细解读: 1. Groovy语言规范(Groovy ...
在Groovy中,`each`方法接收一个闭包作为参数,这个闭包对数组中的每个元素进行操作。上面的代码会打印出每个数字的两倍值。 Groovy与Java的集成非常紧密,可以通过`@groovy.transform.CompileStatic`注解实现静态...