Tomasz Błachowicz Tomasz Błachowicz - 1 year ago 843
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.

Answer Source

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:

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download