Groovy Split CSV

Tengo un archivo csv (details.csv) como

ID,NAME,ADDRESS
1,"{foo,bar}","{123,mainst,ny}"
2,"{abc,def}","{124,mainst,Va}"
3,"{pqr,xyz}","{125,mainst,IL}"

cuando uso (Nota: tengo otro cierre encima de este que lee todos los archivos csv del directorio)

if(file.getName().equalsIgnoreCase("deatails.csv")) {
 input = new FileInputStream(file)
 reader = new BufferedReader(new InputStreamReader(input))
 reader.eachLine{line-> def cols = line.split(",")
 println cols.size() }

En lugar de obtener el tamaño 3 obtengo 6 con valores

1
"{foo
bar}"
"{123
mainst
ny}"

derramado (",") está dividiendo los datos por comas (,) pero quiero mis resultados como

1
"{foo,bar}"
"{123,mainst,ny}"

¿Cómo puedo arreglar este cierre. ¡Por favor ayuda! Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta