incubator-odf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacinto Verdaguer (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ODFTOOLKIT-377) Error writing large .ods files (3 MB)
Date Fri, 13 Sep 2013 12:58:57 GMT

    [ 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

Mime
View raw message