将inputStream读入JCR 2中的节点属性的正确方法是什么?

时间:2010-04-02 20:36:39

标签: java inputstream jcr

在JCR 1中你可以这样做:

final InputStream in = zip.getInputStream(zip.getEntry(zipEntryName));
node.setProperty(JcrConstants.JCR_CONTENT, in);

但是在http://www.day.com/maven/jsr170/javadocs/jcr-2.0/javax/jcr/Node.html#setProperty%28java.lang.String,%20java.io.InputStream%29

详细说明,这在JCR 2中已被弃用

那说我应该使用node.setProperty(String, Binary)但是我没有看到任何方法将我的inputStream变成二进制。有人能指出我的文档或示例代码吗?

2 个答案:

答案 0 :(得分:7)

ValueFactory.createBinary(InputStream stream)

通过Repository.login()

返回的Session获取ValueFactory

答案 1 :(得分:2)

在Rob回答之后,如果你想知道从哪里获得ValueFactory,你可以使用:

node.getSession().getValueFactory().createBinary(inputStream)