当前位置: 首页 > 面试题库 >

我想将输出流转换为String对象

耿敏达
2023-03-14
问题内容

我想将转换OutputStreamString对象。OutputStream编组JAXB对象后,我返回了一个对象。


问题答案:

对jaxb不太熟悉,根据我的发现,您可以使用转换为字符串

public String asString(JAXBContext pContext, 
                        Object pObject)
                            throws 
                                JAXBException {

    java.io.StringWriter sw = new StringWriter();

    Marshaller marshaller = pContext.createMarshaller();
    marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
    marshaller.marshal(pObject, sw);

    return sw.toString();
}

ws.apache.org

但我不确定搅拌对象。仍在搜索中。

**编辑

编组非元素

另一个常见的用例是您的对象上没有@XmlRootElement。JAXB允许您像这样封送它:

marshaller.marshal(new JAXBElement(
new QName(“”,“ rootTag”),Point.class,new Point(…)));

这会将元素作为根元素,然后是对象的内容,然后是。实际上,您可以将其与具有@XmlRootElement的类一起使用,该类仅重命名根元素名称。

乍一看,第二个Point.class参数可能看起来很多余,但是实际上有必要确定编组器是否会产生(臭名昭著的)@xsi:type。在此示例中,类和实例都是Point,因此您不会看到@xsi:type。但是,如果它们不同,您将看到它。

这也可以用于封送一个简单的对象,例如String或整数。

marshaller.marshal(new JAXBElement(
new QName(“”,“ rootTag”),String.class,“ foo bar”)));

但是不幸的是,它不能用于封送List或Map之类的对象,因为它们不是JAXB世界中的头等公民。

在这里找到



 类似资料:
  • 问题内容: 在Java 8流API中,调用任何对象都会返回一个包含所有字符的对象。 将返回的对象转换回a 的正确方法是什么?调用会给我一个,任何构造函数都不接受。 问题答案: 您可以使用,然后使用构造函数。正如返回UTF-16代码单元所指定的那样,这并不完全令人满意,基本上是: 返回此序列的int零扩展char值的流。映射到代理代码点的任何字符都将通过未解释传递。 使用反而会更加保持与此构造,其预

  • 问题内容: 我正在开发一些应用程序,它允许从SD卡中选择图像,将其保存到数据库中并为ImageView设置此值。我需要知道将uri转换为字符串并将字符串转换为uri的方法。现在,我使用了Uri的getEncodedPath()方法,但是例如,此代码不起作用: 因此,我不知道如何将Uri保存到数据库中并根据保存的值创建新的Uri。请帮我修复它。 问题答案: 我需要知道将uri转换为字符串并将字符串转

  • 问题内容: 如何从float转换为string或从string转换为float? 在我的情况下,我需要在2个值字符串(我从表中获得的值)和我计算出的浮点值之间进行断言。 我尝试从浮动到字符串: 但是断言失败 问题答案: 使用Java的类。 为了进行比较,将字符串转换为float并比较两个float总是更好。这是因为对于一个浮点数,存在多个字符串表示形式,与字符串相比,它们是不同的(例如“ 25”!

  • 问题内容: 我想将org.w3c.dom.Document对象转换为String。我正在使用Java 6,并且愿意使用能够完成任务的任何(完全免费的)技术。我从此线程尝试了解决方案- 在Java中,有比此代码更优雅的方法来将XML文档转换为Java中的String吗?,他们在哪里 但遭到了以下可怕的例外…… 问题答案: 如果您可以进行转换,则可以尝试此操作。

  • 问题内容: 如何将String对象转换为Date对象? 我想我需要做这样的事情: 任何帮助将不胜感激。 问题答案: SimpleDateFormat dateFormat = new SimpleDateFormat(“dd.MM.yyyy”); Date date = dateFormat.parse(“1.1.2001”); 有关详细信息,请参阅: SimpleDateFormat文档

  • 问题内容: 我将输入流从Web转换为位图时遇到问题。仅当输入图像类型为.BMP(位图)时,才会出现问题。在这种情况下: bitmapFactory.decodeStream返回null 。 有什么提示如何解决此问题,或者应该在哪里继续调试? 平台:Android(蜂窝) 问题答案: 谢谢@Amir指出日志。发现了一条线: 这似乎是一个普遍的问题。进行搜索后,我找到了解决方案。 我以前的代码: 起作