[
https://issues.apache.org/jira/browse/ODFTOOLKIT-377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13766458#comment-13766458
]
Jacinto Verdaguer commented on ODFTOOLKIT-377:
----------------------------------------------
For files larger than 3 MB the method fails is:
private InputStream readAsInputStream(ZipInputStream inputStream) throws
IOException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
if (outputStream != null) {
byte[] buf = new byte[4096];
int r = 0;
while ((r = inputStream.read(buf, 0, 4096)) > -1) {
outputStream.write(buf, 0, r);
}
inputStream.close();
}
return new ByteArrayInputStream(outputStream.toByteArray());
}
Specifically the line: outputStream.write(buf, 0, r);
This method is in the class ZipHelper.java
> Error writing large .ods files (3 MB)
> -------------------------------------
>
> Key: ODFTOOLKIT-377
> URL: https://issues.apache.org/jira/browse/ODFTOOLKIT-377
> Project: ODF Toolkit
> Issue Type: Bug
> Components: java, odfdom, performance, simple api
> Affects Versions: 0.5-incubating
> Environment: Windows 7, java 1.7
> Reporter: Jacinto Verdaguer
> Labels: patch, performance
> Fix For: 0.5-incubating
>
>
> I'm modifying file metadata .ods, the application works correctly for files
> under 3 MB but in the case of files larger of 2,8 MB it creates a file 2 KB
> and get locked by the java process. No java error display.
> My code is as follows:
> doc = OdfDocument.loadDocument(new File("C:\tmp\ficheroIn.ods"));
> OdfFileDom metadom = doc.getMetaDom();
> Meta metadata = new Meta(metadom);
> metadata.setTitle(plantilla.getTitulo());
> metadata.setSubject(plantilla.getAsunto());
> metadata.setCreator(plantilla.getModificadoPor());
> metadata.setDescription(plantilla.getComentarios());
> doc.save("C:\tmp\ficheroOut.ods");
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira