我想在scala中创建TCP-IO.数据类型将是bytestring.然后,我想在scala,intellij,akka 2.3.14中读取一个文件作为字节串类型.
假设你在谈论akka.util.ByteString你可以为整个文件制作1个ByteString:
import akka.util.ByteString
import scala.io.Source
def fileToByteStr(filename : String) : ByteString =
ByteString(Source.fromFile(filename).mkString)
Run Code Online (Sandbox Code Playgroud)
或者,如果你想要文件中的每一行都有1个ByteString,它会懒散地保留在"板上",直到Iterator耗尽:
def fileToMultipleByteStr(filename : String) : Iterator[ByteString] =
Source.fromFile(filename)
.getLines()
.map(ByteString.apply)
Run Code Online (Sandbox Code Playgroud)
如果你想要内存中的数据,你可以将Iterator排到Seq:
val memoryHog = fileToMultipleByteStr("foo.txt").toSeq
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2105 次 |
| 最近记录: |