我想知道是否有任何巧妙的方法可以将新行写入Groovy的文件中.我有以下脚本:
new File("out.txt").withWriter{ writer ->
for(line in 0..100) {
writer << "$line"
}
}
Run Code Online (Sandbox Code Playgroud)
我可以使用writer << "$line\n"或者writer.println("$line"),但是如果有任何方法可以使用<<运算符为我添加新行,我会感到非常满意.
您可以使用元编程来创建该功能.更改<<运算符的行为的简单解决方案是使用自定义类别.
例:
class LeftShiftNewlineCategory {
static Writer leftShift(Writer self, Object value) {
self.append value + "\n"
}
}
use(LeftShiftNewlineCategory) {
new File('test.txt').withWriter { out ->
out << "test"
out << "test2"
}
}
Run Code Online (Sandbox Code Playgroud)
有关类别的更多信息,请访问:http: //docs.codehaus.org/display/GROOVY/Groovy+Categories
小智 6
向系统询问正确的行分隔符是个好主意,因为这些可以在操作系统之间进行更改.
writer << "Line 1" + System.getProperty("line.separator") + "Line 2"
Run Code Online (Sandbox Code Playgroud)
小智 5
或者你可以只使用三个双引号
例如
def multilineString = """
Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.
"""
println multilineString
Run Code Online (Sandbox Code Playgroud)
参考: http: //grails.asia/groovy-multiline-string
| 归档时间: |
|
| 查看次数: |
36408 次 |
| 最近记录: |