groovy(12)-文件操作

//*遍历文件内容

def file = new File('../../ hello-groovy.iml')
file.eachLine {

line->println( line)

 
 
 
 
 
 
 
 
 
 
 */ ```
} 



##//*获取文件的内容

def text = file.getText()
println(text)
```/ * <?xml version =“1.0”encoding =“UTF-8”?>

 
 
 
 
 
 
 
 
 
 
 */

//*获取文件另一种方式,按行读取,返回一个列表集合

def result = file.readLines()
println(result.toListString())
// [<?xml version =“1.0”encoding =“UTF- 8“?>,
//
//
//
//
//
//
// ]

//*获取文件部分内容(前20个字符)

def reader = file.withReader {

reader->char [] buffer=new char[20]
reader.read(buffer)
buffer

}
println(reader)// <?xml version =“1.0”

//*写文件

def writer = file.withWriter {闭包}

//*文件拷贝,groovy会自己关闭流

def results = copy('../ .. /hello-groovy.iml','..////hello-groovy32.iml')println(results)// true或false

def copy(String sourcePath,String destationPath){

try{
//创建目标文件
def desFile=new File(destationPath)
if(!desFile.exists()){
desFile.createNewFile()
}
//开始拷贝
new File(sourcePath).withReader {
reader->def lines=reader.readLines()
desFile.withWriter {
writer->
lines.each {
line->writer.append(line+'\r\n')
}
}
}
return truea
}catch (Exception e){

}
return false
}

//*对象的读写

ApplicationManager.init()
def person = PersonManager.createPerson('li',34)
def result3 = saveObject(person,'.. / .. / person.txt')

def result4 =(Person)readObject('../../ person.txt')
println(“ {result4.age}”)

//*保存对象

def saveObject(Object obj,字符串路径){

try{
//目标文件创建
def desFile=new File(path)
if(!desFile.exists()){
desFile.createNewFile()
}
//开始写object
desFile.withObjectOutputStream {
out->out.writeObject(obj)
}
return true
}catch (Exception e){

}
return false
}

//*读取对象

def readObject(String path){

def obj=null
try{
def desFile=new File(path)
if(!desFile.exists()|| desFile==null)return null
desFile.withObjectInputStream {input ->
obj=input.readObject()
}

}catch (Exception e){

}
return obj
}

你可能感兴趣的:(groovy(12)-文件操作)