如何确定 Akka bytestring 是否包含给定的子字符串?
How can I determine if Akka bytestring contains a given substring?
给定一个示例文本文件,如何使用 Akka ByteStrings 并将其转换为纯文本或 运行 在 ByteString 本身上 "find"?
val file = new File("sample.txt")
val fileSource = SynchronousFileSource(file, 4096)
val messageStream = fileSource.map(chunk => sendMessage(chunk.toString()))
messageStream.to(Sink.foreach(println(_))).run
上面的 "toString()" 功能从字面上吐出一个包含文本 "ByteString" 的字符串,后跟表示为整数的字节。例如:
chunk.toString() ==> "ByteString(111, 112, 119, 111)"
您可以使用 containsSlice
来查找子字节串。
scala> import akka.util.ByteString;
import akka.util.ByteString
scala> val target = ByteString("hello world");
target: akka.util.ByteString = ByteString(104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100)
scala> val sub = ByteString("world")
sub: akka.util.ByteString = ByteString(119, 111, 114, 108, 100)
scala> target.containsSlice(sub)
res0: Boolean = true
如果要将akka.util.ByteString
转换为String
,可以使用decodeString
scala> ByteString("hello").decodeString("UTF-8")
res3: String = hello
有关详细信息,请参阅文档:http://doc.akka.io/api/akka/2.3.13/index.html#akka.util.ByteString
给定一个示例文本文件,如何使用 Akka ByteStrings 并将其转换为纯文本或 运行 在 ByteString 本身上 "find"?
val file = new File("sample.txt")
val fileSource = SynchronousFileSource(file, 4096)
val messageStream = fileSource.map(chunk => sendMessage(chunk.toString()))
messageStream.to(Sink.foreach(println(_))).run
上面的 "toString()" 功能从字面上吐出一个包含文本 "ByteString" 的字符串,后跟表示为整数的字节。例如:
chunk.toString() ==> "ByteString(111, 112, 119, 111)"
您可以使用 containsSlice
来查找子字节串。
scala> import akka.util.ByteString;
import akka.util.ByteString
scala> val target = ByteString("hello world");
target: akka.util.ByteString = ByteString(104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100)
scala> val sub = ByteString("world")
sub: akka.util.ByteString = ByteString(119, 111, 114, 108, 100)
scala> target.containsSlice(sub)
res0: Boolean = true
如果要将akka.util.ByteString
转换为String
,可以使用decodeString
scala> ByteString("hello").decodeString("UTF-8")
res3: String = hello
有关详细信息,请参阅文档:http://doc.akka.io/api/akka/2.3.13/index.html#akka.util.ByteString