我是靠谱客的博主 单薄鞋垫,最近开发中收集的这篇文章主要介绍groovy的IO操作--真是丧心病狂,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

//groovy用it表InputStream
def targetFile=new File("build.gradle")
def buffer=new byte[1024]
def hasRead
targetFile.withInputStream{ 
    while((hasRead=it.read(buffer))!=-1)
    println(new String(buffer,0,hasRead))

}

task linereadfile <<{
    //it为每一行 读行循环
    def targetFile=new File('build.gradle')
    targetFile.eachLine{
    println it
    }
}
//理解
/*eachLine内部...
def eachLine(Closure closure){
    循环{
    it='一行数据'
    closure(it)//闭包对象调用方法closure.call(实参)
    }
}
*/


task copyfile <<{
//srcFile-->targetFile复制文件
def srcFile = new File("build.gradle")  
def targetFile = new File("haswrite.txt")  
targetFile.withOutputStream{  
    def os=it//输出流
    srcFile.withInputStream{ 
    def ins=it//输入流
      os << ins//利用OutputStream的<<操作符重载,完成从inputstream到OutputStream  
       //的输出  
   } 
   }
   }

task readfile <<{
//一次性读完以byte[]形式返回
def targetFile=new File("build.gradle")
println new String(targetFile.getBytes(),"utf-8")//  <==文件内容一次性读出,返回类型为byte[]  
}

利用Groovy的GPath 解析xml文件资源..
import groovy.util.slurpersupport.GPathResult
//第一步,创建XmlSlurper类  
def xparser = new XmlSlurper()  
def targetFile = new File("test.xml")  
//轰轰的GPath出场  
GPathResult gpathResult =xparser.parse(targetFile)     
//开始玩test.xml。现在我要访问id=4的book元素。  
//下面这种搞法,gpathResult代表根元素response。通过e1.e2.e3这种  
//格式就能访问到各级子元素....  
def book4 = gpathResult.value.books.book[3]  
//得到book4的author元素  
def author = book4.author  
//再来获取元素的属性和textvalue  
println author.text()
println author.@'id'
//assert author.text() == ' Manuel De Cervantes '  
//获取属性更直观  
//author.@id == '4' 或者 author['@id'] == '4'  
//属性一般是字符串,可通过toInteger转换成整数  
//author.@id.toInteger() == 4  
//好了。GPath就说到这。再看个例子。我在使用Gradle的时候有个需求,就是获取AndroidManifest.xml版本号(versionName)。有了GPath,一行代码搞定,请看:  
def androidManifest = xparser.parse("AndroidManifest.xml")  
//获取application的android:label属性,匹配不到则无任何异常输出.
println androidManifest.application[0].@'android:label'
//或者  
println androidManifest.@'android:versionName'

最后

以上就是单薄鞋垫为你收集整理的groovy的IO操作--真是丧心病狂的全部内容,希望文章能够帮你解决groovy的IO操作--真是丧心病狂所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部