`
berdy
  • 浏览: 512369 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Groovy的文件操作

 
阅读更多
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();
}



0
1
分享到:
评论

相关推荐

    微服务项目中添加groovy文件技巧.docx

    然而,在实际操作中,直接在微服务项目中添加.Groovy文件会面临一些挑战。比如,当我们在代码中引入一个新的对象时,由于IDE(如Eclipse)无法识别到该对象所依赖的包,会出现编译器报错,对象下方会显示一条波浪线...

    Java IO流和文件操作实现过程解析

    Java IO流和文件操作实现过程解析 Java IO流和文件操作实现过程解析是Java语言中的一种基本操作,IO流是Java中处理输入输出的基础。Java中的IO流主要包括两种类型:字节流和字符流。字节流用于处理二进制数据,而...

    groovy模板

    6. **文件操作** Groovy提供了简单的方法来处理文件和目录。这些Groovy文件可能包含了读取、写入、移动或操作其他文件的代码,如`Guangfa201602.groovy`可能涉及广发银行2016年2月的数据处理。 综上所述,这个...

    eclipse安装groovy插件的步骤

    通过上述步骤,您已经完成了在 Eclipse 中安装 Groovy 插件的过程,并学会了如何使用 Groovy 进行基本的编程操作。Groovy 是一种灵活且功能强大的脚本语言,非常适合用于自动化任务、单元测试以及快速应用开发等领域...

    groovy-2.3.6-installer

    通过执行这个exe文件,用户可以在系统上快速配置好Groovy环境,包括设置PATH变量、安装Groovy解释器和相关工具。安装过程中,用户可以选择自定义安装路径,以便更好地管理开发环境。 安装Groovy后,开发者可以使用...

    groovy脚本实现对数据库的增删改查

    在IT行业中,Groovy常被用于快速开发、脚本编写以及自动化任务,尤其在处理数据库操作时,其简洁的语法使得数据库的增删改查(CRUD)变得更加高效。 在“groovy脚本实现对数据库的增删改查”这个主题中,我们将深入...

    groovy速查手册

    - **脚本编辑与执行**:通过`groovy-i`命令可以对文本文件进行行内编辑,并保存原始文件的备份。 - **类与脚本**:Groovy中的类声明与Java类似,默认访问修饰符为public。同时,Groovy支持定义脚本并使用`...

    groovy-all-2.4.8.jar

    - 可以编写Groovy脚本文件(`.groovy`),然后通过GroovyShell或GroovyScriptEngine来运行。 - 对于构建工具,如Maven或Gradle,可以通过配置依赖项来使用这个版本的Groovy。 5. **Groovy的应用场景** - **脚本...

    groovy-api-chm

    "groovy-api-1.7.2.chm" 文件包含了Groovy核心API的详细文档,涵盖了Groovy的基础类、语法特性、内置类型以及各种操作符。这些API包括了GroovyObject接口,它是所有Groovy类的基类,提供了诸如`invokeMethod`和`...

    groovy常用Script

    4. **目录操作**:`directory_01.groovy` 可能包含了处理文件系统目录的代码,Groovy提供了一系列的类和方法来操作文件和目录,如`java.io.File`和`java.nio.file`包。 5. **字符串操作**:`string_01.groovy` 可能...

    apache-groovy-sdk-4.0.1下载

    6. **bin目录下的脚本**:每个脚本都有相应的Windows批处理文件(.bat)和Unix/Linux shell脚本(.sh),确保在不同操作系统上都能正常工作。 Apache Groovy提供了一些独特的特性,例如: - **简洁的语法**:...

    实战groovy.rar

    4. 文件I/O和网络编程:学习如何使用Groovy进行文件操作和网络通信。 5. 测试与调试:掌握Spock测试框架,进行单元测试和集成测试。 6. 深入理解Groovy与Java的互操作性,以便在既有Java项目中无缝引入Groovy。 五...

    groovy-sdk-4.0.3

    3. **标准库**:Groovy SDK附带了一套丰富的标准库,包含各种实用的类和函数,如文件操作、网络通信、日期和时间处理等。 4. **GroovyShell**和**GroovyConsole**:这两个工具分别用于交互式地运行Groovy脚本和提供...

    Groovy Language Documentation Version 2.5.5

    Groovy 2.5.5版本的官方文档是一个详细的手册,其内容涵盖了从基础语法到高级特性,包括语言规范、程序结构、操作符、对象导向编程和类型系统等方面。以下是对文档内容的详细解读: 1. Groovy语言规范(Groovy ...

    Groovy安装以及简单使用

    在Groovy中,`each`方法接收一个闭包作为参数,这个闭包对数组中的每个元素进行操作。上面的代码会打印出每个数字的两倍值。 Groovy与Java的集成非常紧密,可以通过`@groovy.transform.CompileStatic`注解实现静态...

    Groovy 动态修改XML

    1. **解析XML**:首先,使用XMLSlurper或XMLParser将XML字符串或文件转换为Groovy的DOM(文档对象模型)表示。例如: ```groovy def xml = new XmlSlurper().parseText('<xml><node>text</node></xml>') ``` 2. *...

Global site tag (gtag.js) - Google Analytics