Scala中如何将HashSet保存到txt、csv等纯文本文件中
Scala中将Java HashSet保存为纯文本文件的解决方案
1. 保存为TXT格式(每行一个元素)
无需引入第三方依赖,直接用JDK和Scala标准库即可实现:
import java.io.PrintWriter import java.util.HashSet // 你原有定义的HashSet val slotidSet: HashSet[String] = new HashSet[String](1) slotidSet.add("100") slotidSet.add("105") slotidSet.add("102") slotidSet.add("103") // 写入文件逻辑 val printWriter = new PrintWriter("slot_output.txt") try { // Java集合转Scala集合,2.12及更早版本Scala替换为 import scala.collection.JavaConverters._ import scala.jdk.CollectionConverters._ slotidSet.asScala.foreach(printWriter.println) } finally { // 确保流关闭,避免资源泄露 printWriter.close() }
运行后生成的slot_output.txt每行对应HashSet中的一个元素。
2. 保存为CSV格式
如果只有单类ID字段,CSV格式和TXT写法基本一致,如需添加表头可参考以下代码:
import java.io.PrintWriter import java.util.HashSet val slotidSet: HashSet[String] = new HashSet[String](1) slotidSet.add("100") slotidSet.add("105") slotidSet.add("102") slotidSet.add("103") val printWriter = new PrintWriter("slot_output.csv") try { // 写入CSV表头(可选,按需调整) printWriter.println("slot_id") import scala.jdk.CollectionConverters._ slotidSet.asScala.foreach(printWriter.println) } finally { printWriter.close() }
注意:如果HashSet元素包含逗号、双引号等CSV特殊字符,写入前需要做转义:将元素用双引号包裹,元素内的双引号替换为两个连续双引号即可。
内容的提问来源于stack exchange,提问作者Bowen Peng
相关产品推荐
相关产品推荐

