我想在命令行上的groovy中读取整个文件内容。 我正在使用此代码
#!/usr/bin/env groovy
def xmlData =""
System.in.withReader {
xmlData=xmlData+ it.readLine()
}
println xmlData
和以下命令
cat 1.xml | /root/a.groovy
但它只从文件中读取一行。我想读整个文件。
有什么建议吗? 问候 舒亚
答案 0 :(得分:2)
it.eachLine{ line -> ... }
如果你不需要在内存中缓冲整个文件只是为了避免完全读取它,那将是资源要求很高。我可以向你保证我必须做的测试:)
答案 1 :(得分:2)
一次读一行:
System.in.eachLine { line ->
xmlData += line
}
或者一次性阅读整篇文章:
xmlData = System.in.text
答案 2 :(得分:1)
尝试
#!/usr/bin/env groovy
def xmlData = System.in.text
println xmlData
代替。