读取csv文件
def text = new File("source.csv").text assert text instanceof String println text
逐行读取csv文件
def file = new File("D:\\tool\\api2direct\\api2direct\\sourceCopy.csv") assert file.name == 'sourceCopy.csv' assert file.path == 'D:\\tool\\api2direct\\api2direct\\sourceCopy.csv' assert file.isAbsolute() assert file.parent == 'D:\\tool\\api2direct\\api2direct' file.eachLine{println it} file.eachLine('GB2312', 3) {str, no -> println no println str }
对csv文件的每一行内容进行处理
def file = new File("D:\\tool\\api2direct\\api2direct\\sourceCopy.csv") file.splitEachLine(',') {println it} def listLine = file.readLines() listLine.each{ println it.toUpperCase() } listLine.filterLine{str -> if(str.contains('RR01S')) str }.writerTo(new PrintWriter(System.out))
解析Properties文件
/*configure.properties name=emma age=26 */ //读取 def props = new Properties() new File("configure.properties").withInputStream{stream -> props.load(stream) } assert props['name'] == 'emma' assert props['age'] instanceof String assert props instanceof Map //通过ConfigSlurper object对象来访问 def config = new ConfigSlurper().pares(props) assert config.name == 'emma'
更简洁的方式访问,但属性的值若是字符串,需加上引号
/*configure.properties name="emma" age=26 */ //读取 def config = new ConfigSlurper().parse(new File("configure.properties").toURL()) assert config.name == 'emma' assert config.age instanceof Integer
读取groovy文件
/*message.groovy capacity { created="x" modified="y" } */ //代码如下 def config = new ConfigSlurper().parse(new File("message.groovy").toURL) assert config.capacity.created == 'x'
访问目录
def dir = new File("D:\\个人代码\\groovy") if(dir.isDirectory()) { dir.eachFileRecurse {file -> println file } } dir.eachFileMatch(~/.*\.txt/) {file -> println file.name }
写入文件
def writeFile(fileName) { def file = new File(fileName) if(file.exists()) file.delete() def printWriter = file.newPrintWriter() printWriter.println('The first line') printWriter.write('The second line') printWriter.flush() printWriter.close() } writeFile('output.txt')
更简洁的写法
new File('log.txt').withPrintWriter{printWriter -> printWriter.println('The first line') printWriter.write('The second line') }
除了file.newPrintWriter()
可以得到一个 PrintWriter,类似方法还有file.newInputStream()
、file.newObjectInputStream()
等
相关推荐
本文将详细讲解如何在Java应用程序中调用Groovy脚本,实现从MongoDB数据库中读取并实时运行Groovy脚本,以及其背后的原理和优势。 首先,Groovy是一种与Java高度兼容的脚本语言,它可以无缝地与Java代码集成,共享...
本文将深入探讨如何使用Groovy脚本进行文件操作,包括文件的创建、读取、写入、删除等基本操作,以及更高级的操作,如文件过滤和搜索。通过实际的代码示例,我们将展示Groovy在文件操作中的优雅和力量。 Groovy提供...
gstorm, 在groovy脚本中,一个用于数据库和CSV文件的简单 ORM GStorm - Groovy单个表 ORMGStorm是一个轻量级的持久性 helper,允许你在没有任何样板代码的情况下持久化数据。 它也可以充当CSV文件的和 ORM 。示例...
这些Groovy文件可能包含了读取、写入、移动或操作其他文件的代码,如`Guangfa201602.groovy`可能涉及广发银行2016年2月的数据处理。 综上所述,这个压缩包中的Groovy文件涵盖了Groovy语言的多个方面,包括但不限于...
- **简洁的语法**:Groovy的语法比Java更加简洁,减少了不必要的括号和分号,使得代码更易读写。 - **动态类型**:Groovy支持动态类型,这意味着你不需要在声明变量时指定类型,编译器会在运行时自动推断。 - **闭包...
在Android平台上,与U盘...总的来说,通过libaums库,Android应用可以方便地读取和写入U盘中的文件,为移动设备提供了更多扩展存储的可能性。不过,在实际开发中,务必注意处理好各种异常情况,确保用户数据的安全。
6. **输入/输出**:`input_03.groovy` 可能涉及到了标准输入输出或文件读写,Groovy提供了多种方式处理输入输出,包括`System.in`、`System.out`以及使用`BufferedReader`和`PrintWriter`等类。 7. **语法特性**:...
在Java生态系统中,Groovy经常被用来处理XML文档,因为它的动态特性使得XML的读取、修改和生成变得更加简单。 在Groovy中,XML被视为一种对象,可以通过内置的XMLSlurper和XMLParser库来解析和操作。XMLSlurper是...
"features"目录下的文件代表了插件的特性集合,而"plugins"目录则包含了实际的插件实现,这些文件通常以.jar格式存在,MyEclipse会读取这些文件来提供插件功能。 安装完成后,MyEclipse Groovy插件将为用户提供以下...
此外,为了实现U盘与本地数据的互传,我们可以创建一个工具类,包含读取U盘文件、写入U盘文件、读取本地文件、写入本地文件等方法。这些方法可以利用上述代码片段进行封装,以便在应用程序中方便调用。 需要注意的...
1. Groovy基础:了解Groovy的基本语法、类和对象、集合操作、文件I/O、网络编程等。 2. Grails架构:理解MVC(模型-视图-控制器)设计模式,以及Grails中的Controller、Service、Domain Class等组件。 3. GORM和...
- **I/O操作**: 支持文件读写、网络通信等。 - **高级应用**: 如Web应用开发、持续集成等。 - **正则表达式**: Groovy内置了强大的正则表达式支持。 通过以上内容的学习,读者将能够了解Groovy的基本概念、主要特性...
5. **领域特定语言(DSLs)**:Groovy非常适合构建DSLs,使得创建定制的配置文件或脚本语言变得简单,例如Grails框架就使用Groovy构建其DSL。 6. **GroovyShell和GroovyConsole**:这两个工具提供了交互式环境,...
Eclipse Groovy插件是开发环境中用于增强对Groovy编程语言支持的重要工具。Groovy是一种动态、灵活的Java平台上的编程语言,它结合了面向对象编程、函数式编程和动态语言的特点,使得代码更加简洁易读。在Eclipse...
在"apache-groovy-binary-2.4.11.zip"这个压缩包中,用户可以找到Groovy 2.4.11的所有二进制文件,包括编译器、解释器和其他必要的库,使得开发者能够在本地环境中快速开始Groovy的开发工作。这个版本支持JVM(Java ...
Groovy的语法比Java更为简洁,支持闭包和匿名函数,这使得代码更易读写。此外,Groovy与Java完全兼容,可以无缝集成到现有的Java项目中,使用Groovy编写的代码可以直接被Java代码调用。 在第二部分,Groovy in ...
- **JAR文件**:包含了Groovy解释器和其他核心库,用于运行Groovy脚本。 - **文档**:可能包括API文档、用户指南和开发者参考,帮助开发者了解和使用该版本的Groovy。 - **示例代码**:可能包含一些示例脚本来展示...
在`spring-beans-groovy`中,Groovy的Bean定义被编译为一个`GroovyBeanDefinitionReader`实例,该类负责读取Groovy脚本并转换为Spring的`BeanDefinition`对象。`BeanDefinition`是Spring容器中的核心概念,它包含了...
4. **jcabi-manifests库**:这是一个专为管理MANIFEST.MF文件而设计的工具库,提供API来方便地操作和读写这些文件,避免手动编辑带来的错误和麻烦。 5. **开源项目**:开源项目意味着源代码对公众开放,开发者可以...
Groovy的语法相对简洁,与Java相比,代码更易读写。例如,Groovy支持闭包,这是一种强大的函数式编程概念,可以简化迭代和函数式操作。 Groovy与Java的互操作性是其一大亮点。由于Groovy代码可以无缝调用Java类库,...