我试图通过HTTP / multipart一次解析一封原始电子邮件。这是其中一个邮件的一大块,我的代码最近在邮件上发送了这个例外
java.nio.charset.MalformedInputException: Input length = 1
这是(我认为)该邮件的相关部分:
Content-Type: multipart/alternative;
boundary="------------000401070001090809020709"
--------------000401070001090809020709
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
是否有Scala库可以轻松处理此类输入?否则有一种简单的方法可以编写一些处理它的代码吗?
我一直在关注mime4j以及此scala code。
截至目前,我的代码只使用scala.io.Source.fromURL来抓取原始邮件,如下所示:
scrape(scala.io.Source.fromURL(url))
将BufferedSource转换为String并将其拆分:
source.mkString.split("\n\n", 2)
我也尝试使用隐式编解码器,因为scala.io.Source.fromURL可以使用编解码器:
implicit val codec = Codec("UTF-8")
codec.onMalformedInput(CodingErrorAction.REPLACE)
codec.onUnmappableCharacter(CodingErrorAction.REPLACE)
但我认为每个字符集都需要其中一个?
非常感谢任何帮助。