2011-11-04 19 views
11
File lstFile = new File(lstFileName).withWriter{out-> 
      archivedFiles.each {out.println it.name} 
} 

archivedFiles è una lista oggetti .. sto ottenendo un errore che dice:Groovy scrivere l'elenco in un file

Cannot cast object with class 'java.util.ArrayList' to class 'java.io.File'. 

me interessa solo per iscritto i nomi dei file contenuti nella lista a il file appena creato

risposta

16

Questo è allucinante il blocco withWriter sta tornando l'ultima cosa che nel blocco di default (che è la lista archivedFiles)

di fare ciò che si sta cercando t o si fa, avresti bisogno di fare:

File lstFile = new File(lstFileName) 
lstFile.withWriter{ out -> 
    archivedFiles.each {out.println it.name} 
} 

o questo dovrebbe funzionare anche:

File lstFile = new File(lstFileName).with { file -> 
    file.withWriter{ out -> 
    archivedFiles.each {out.println it.name} 
    } 
    file 
}