如何在Alfresco中更新文件的内容?

时间:2011-10-13 09:54:42

标签: java alfresco

我的java支持的webscript将存储库中的文件复制到临时文件夹,并根据我的需要对其进行编辑。在工作期间,将生成新内容,并且必须将其写入创建的临时文件。

但是有一个问题:下面的第一个代码和第二个代码不会更新文件的内容。

ContentWriter contentWriter = this.contentService.getWriter(tempFile,
                               ContentModel.PROP_CONTENT, true);
contentWriter.putContent(content);

第二个:

`
WritableByteChannel byteChannel = contentWriter.getWritableChannel();
ByteBuffer buffer = ByteBuffer.wrap(content.getBytes());
byteChannel.write(buffer);
byteChannel.close();
`

如何更新文件内容?

1 个答案:

答案 0 :(得分:4)

这对我有用:

ContentWriter contentWriter = contentService.getWriter(noderef, ContentModel.PROP_CONTENT, true);
        contentWriter.setMimetype("text/csv");
        FileChannel fileChannel = contentWriter.getFileChannel(false);
        ByteBuffer bf = ByteBuffer.wrap(logLine.getBytes());
        try {
            fileChannel.position(contentWriter.getSize());
            fileChannel.write(bf);
            fileChannel.force(false);
            fileChannel.close();
        } catch (IOException e){
            e.printStackTrace();
        }

我正在向现有文件追加一行,因此logLine是附加字符串。