我在' while(blocks.hasNext)'中存在类型不匹配的问题。功能
def encrypt(file: String): Array[Byte] = {
val text = Source.fromFile(file)
val list=text.toList
val blocks=list.grouped(501)
while(blocks.hasNext) {
val block0=blocks.next()
val stringBlock=block0.mkString
val arrayBytes=stringBlock.getBytes
}
}
错误表示"类型不匹配;找到:单位,必需:数组[字节]"。问题在哪里?
答案 0 :(得分:1)
您没有将任何存储数据的内容返回到变量中试试这个
def encrypt(file: String): Array[Byte] = {
val text = Source.fromFile(file)
val list=text.toList
val blocks=list.grouped(501).toArray
blocks.flatMap{block0 =>
val stringBlock=block0.mkString
stringBlock.getBytes
}
}
现在flatMap会将结果返回为Array[Byte]
类型
希望这适合你
答案 1 :(得分:0)
将while循环更改为:
blocks.flatMap(_.mkString.getBytes).toArray