view raw
Tomasz Błachowicz Tomasz Błachowicz - 7 months ago 223
Groovy Question

How to neatly print new line in Groovy?

I was wondering if there is any neat way to write new line into the file from Groovy. I have the following script:

new File("out.txt").withWriter{ writer ->
for(line in 0..100) {
writer << "$line"

I could use
writer << "$line\n"
, but I was wondring if there is any way to use
operator to append the new line for me.


You could use meta programming to create that functionality. An easy solution to change the behaviour of the << operator would be to use a custom category.


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"    

More about categories here: