从字节数组和mime类型转换为字符串/对象
问题描述:
给定一个MIME字符串,我该如何解析它才能提取字符集?是否有一个实用工具将不同的MIME类型映射到对象类型(例如,为text/xml和application/xml返回'xml')从字节数组和mime类型转换为字符串/对象
答
Jersy的MediaType有一个valueOf静态方法来解析MIME。
它也支持创建对象给定的值流。不幸的是,它看起来不能单独使用。
答
那么,给定一个已知字符集的字节数组,字符串很简单:
String result = new String(byteArray, charset);
所以你的第一个问题是减少到“什么是从中提取MIME类型字符集的最简单的方法?”。这取决于您希望能够处理的输入范围以及您已经使用的库。例如,一种这样做的方法是使用javax.mail.internet.ContentType
来进行解析;我相信其他库提供类似的功能。
至于第二部分,我不确定“转换为对象”是什么意思。 Java中的所有东西(不包括基元)已经是Object
;如果你正在谈论更具体的东西,那么你需要是更具体的。没有通用的框架可以从任何东西魔法转换为任何东西,所以你需要在那里缩小你的需求。
答
使用Andrzej的方法,如果您的意思是您刚刚获得的String对象是一个XML,那么可以将其转换为Java对象。一个简单的技术是;
- 从字符串创建一个XML文档对象。
- 将XML文档对象转换为Java对象。
有第二部分可用的各种库/ API。很少参考;
这些库是相当容易使用。