Por que não gravar todos os dados em um arquivo e abrir o arquivo com a opção "append"? Não há necessidade de ler todos os dados no arquivo se você for apenas gravar nele.
No entanto, esta pode ser uma solução melhor:
PrintWriter writer = new PrintWriter(new BufferedOutputStream(new FileOutputStream("data.xml")));
while(rs.next()){
i++;
writer.print("\n\t<row>");
writer.print("\n\t\t<ID>" + Util.transformToHTML(rs.getInt("id")) + "</ID>");
writer.print("\n\t\t<JED_ID>" + Util.transformToHTML(rs.getInt("jed_id")) + "</JED_ID>");
writer.print("\n\t\t<IME_PJ>" + Util.transformToHTML(rs.getString("ime_pj")) + "</IME_PJ>");
//...
writer.print("\n\t</row>");
}
writer.close();
O BufferedOutputStream armazenará os dados em buffer antes de imprimi-los e você poderá especificar o tamanho do buffer no construtor se o valor padrão não atender às suas necessidades. Consulte a API java para obter detalhes:http://java.sun.com/javase /6/docs/api/ .