scala - 如何在scala spark中将字符代码从UTF-8转换为Shift JIS?
问题描述
我想在 data.txt
文件中将字符代码从 UTF-8 转换为 Shift-JIS。
我应该怎么办?
这是我的代码,但它不正确。
它存在以下问题。
- 不要在火花环境中运行。错误:访问列表时出现 java.lang.IndexOutOfBoundsException
- 结果输出是字符编码为 ANSI 而不是 Shift-jis 的文件。
import scala.io.Source
import scala.io._
import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.File
import java.io.FileInputStream
import java.io.FileOutputStream
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import org.apache.spark.SparkContext._
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.SparkSession
object uconv {
def main(args: Array[String]): Unit = {
val sparkSession = SparkSession.builder.master("local").appName("Spark_Accumulator").getOrCreate()
val fis: FileInputStream = new FileInputStream(new File("data.txt"))
val in: BufferedReader = new BufferedReader(new InputStreamReader(fis, "UTF8"))
val fos: FileOutputStream = new FileOutputStream(new File("output.txt"))
val out: BufferedWriter = new BufferedWriter(new OutputStreamWriter(fos, "SJIS"))
val len: Int = 80
val buf: Array[Char] = Array.ofDim[Char](len)
var numRead: Int = 0
while ((numRead = in.read(buf, 0, len)) != -1)
out.write(buf, 0, numRead)
out.close()
in.close()
}
}
请更正代码以正确帮助我。
解决方案
推荐阅读
- git - 为什么github没有删除我移动的文件
- html - 使子元素不受父元素旋转的影响
- maven - 使用 settings.xml 中的变量,但使用 Maven 中的环境变量覆盖
- node.js - 从外部库记录到不显示“警告”日志
- c# - 如何在连接子句中使用 OR 条件使用 LINQ 查询
- wordpress - 发布帖子时对元数据执行 do_action 以更改其他帖子的元数据
- javascript - 为什么我需要用括号将属性传递给这个指令?
- bash - 更改每个子目录中每个文件的某些字符
- amazon-web-services - AWS Route53 ConflictingDomainExists:有没有办法将同一个 VPC 与共享同一个父域的多个私有托管区域相关联
- redis - Lettuce 连接的缩放限制