java对象编组的jaxb与bufferedwriter的xml性能

xurqigkl  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(199)

我正在使用这个遗留系统,它将大量java对象导出(封送)到一个xml文件。由于数据量大,这个过程需要将近14个小时,我们必须优化这个过程。
立即写入xml标记是手动创建的,并使用使用filewriter的bufferedwriter写入到文件中。以下是当前实现的片段:

BufferedWriter bufferedWriter = null;
    try
    {
      bufferedWriter = new BufferedWriter(new FileWriter(file), 81920);
      writeHeader(bufferedWriter);
      writeNewLine(bufferedWriter);
      writeRootStartTag(bufferedWriter);

      for (int i = 0; i < users.length; i++)
      {
        String user = users[i];
        if (user!=null && user.trim().length()>0)
        {
          String[] xmlForUser = getXMLDataForUser(user, startDate, endDate);
          if(xmlForUser!=null && xmlForUser.length>0)
          {
            for (int j = 0; j < xmlForUser.length; j++)
            {
              String xml = xmlForUser[j];
              write(xml, bufferedWriter);
            }
          }
        }
      }
      writeRootCloseTag(bufferedWriter);
    }

如果我使用jaxb来封送java对象而不是bufferedwriter方法,性能会有显著的提高吗。
(请注意,使用jaxb解组xml文件的任何性能增益都与系统无关,因为另一个系统用于此目的。另外请注意,鉴于公司对第三方库有严格的规定,我不能使用任何第三方库。)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题