Если вы просто хотите сериализовать один список или массив без правильного экранирования кавычек и т. Д .:
scala> List(1,2,3,4).mkString(",")
res39: String = 1,2,3,4
Если вы хотите сериализовать немного более сложные структуры данных:
product-collection будет сериализовать коллекцию кортежей или классов case (любой Product) в csv и корректно экранировать кавычки.
scala> List ((1,"Jan"),
| (2,"Feb"),
| (3,"Mar","Extra column")).csvIterator.mkString("\n")
res41: String =
1,"Jan"
2,"Feb"
3,"Mar","Extra column"
product-collection также будет записывать непосредственно в java.io.Writer
. Он имеет коллекцию CollSeq
, специализирующуюся на однородных кортежах, которые не позволяют использовать "дополнительный столбец" выше.
И для преобразования ваших исходных данных в формат, который может обрабатываться коллекциями продуктов:
scala> CollSeq(scala.collection.mutable.ArrayBuffer("a","b","quoted \"stuff\""):_*)
res52: com.github.marklister.collections.immutable.CollSeq1[String] =
CollSeq((a),
(b),
(quoted "stuff"))
scala> res52.csvIterator.mkString("\n")
res53: String =
"a"
"b"
"quoted ""stuff"""