Quebar arquivo Texto ou txt Apartir de uma quantidade gerado

Boa tarde !!! Galera

Bom, mais uma vez preciso da ajuda de vcs

estou gerando um arquivo texto, de informações que pego de um banco de Dados

porem , eu preciso que quando o contador atingir 500 seja Criado um novo arquivo , exemplo

tenho um banco com 1000 Registro , o Primeiro arquivo tera 500 , e o segundo os 500 restante

segue uma parte do meu codigo que criei até agora

       // Começo Cria e Abre arquivo Texto\.Txt Para Escrever *****************
         // FileWriter para gerar arquivo
          FileWriter writer = null; 
           try {
           // writer = new FileWriter(new File(ArqSai.getText()+"."+Util.Padl(Integer.toString(SeqExt),3,"0")),true); // Este Adiciona em um arquivo já existente
            writer = new FileWriter(new File(ArqSai.getText()+"."+Util.Padl(Integer.toString(SeqExt),3,"0"))); // Este Sobrescreve o arquivo existente
           } catch (IOException ex) {
            Logger.getLogger(Boleto.class.getName()).log(Level.SEVERE, null, ex);
           }
        // PrintWriter pra escrever no arquivo (em texto!)   
        //  PrintWriter Fwrite = new PrintWriter(writer,true);                  // Este Adiciona em um arquivo já existente 
          PrintWriter Fwrite = new PrintWriter(writer);                         // Este Sobrescreve o arquivo existente

          Fwrite.println("%!");
          Fwrite.println("XGF");
          Fwrite.println("500 SETBUFSIZE");
          Fwrite.println("(PRINCIPAL.JDT) STARTLM");
        // Final Cria e Abre arquivo Texto\.Txt Para Escrever *****************

          try {
           while(conexao.resultset.next()) {                                    // Eof ou End Of File  Enquando não for final de Arquivo
            
            sequencia++;
            SeqX++;
           
            
            if(SeqX > Quebra ){
             SeqX = 1;
             SeqExt++ ;
               Fwrite.println("%%EOF");
               Fwrite.close();
               try {
               writer.close();
               } catch (IOException ex) {
               Logger.getLogger(Boleto.class.getName()).log(Level.SEVERE, null, ex);
               }
}

caso alguem possa me ajudar

agradeço pela atenção

Att JavaX

Por que não cria uma collection de buffers de 500?
Aí itera sobre a mesma e cada uma gera um arquivo.

[quote=drsmachado]Por que não cria uma collection de buffers de 500?
Aí itera sobre a mesma e cada uma gera um arquivo.[/quote]

drsmachado , valeu sua atenção …

porem , caso vc tenha algum tutorial , ou um exemplo , de como eu posso fazer isso.

sou novo em java e não tenho , ideia de como fazer

grato

Att JavaX

[code]
//grave os registros em um arraylist registros…

//aqui você vai ver quantos arquivos vai precisar:

int qtdArquivos = (int) Math.ceil((registros.size()-1)/500); //math.ceil arredonda para cima, então sendo (700 / 500) vai dar 1,4 que fica 2

for(int j=0;j<qtdArquivos.lenght;j++)

//cria o arquivo nesta linha
//abreArquivo

for(int i=0;i<500;i++){

//salva registros
gravarregistro(registros.get(i));

}

}[/code]

[quote=douglaskd][code]
//grave os registros em um arraylist registros…

//aqui você vai ver quantos arquivos vai precisar:

int qtdArquivos = (int) Math.ceil((registros.size()-1)/500); //math.ceil arredonda para cima, então sendo (700 / 500) vai dar 1,4 que fica 2

for(int j=0;j<qtdArquivos.lenght;j++)

//cria o arquivo nesta linha
//abreArquivo

for(int i=0;i<500;i++){

//salva registros
gravarregistro(registros.get(i));

}

}[/code][/quote]

Valeu douglaskd, vou fazer um teste , Grato JavaX

[quote=JavaX_JavaX]

Valeu douglaskd, vou fazer um teste , Grato JavaX[/quote]

opa não vai dar certo haha…vai começar a repetir os registros apartir do 500…

[code]
//grave os registros em um arraylist registros…

//aqui você vai ver quantos arquivos vai precisar:

int qtdArquivos = (int) Math.ceil((registros.size()-1)/500); //math.ceil arredonda para cima, então sendo (700 / 500) vai dar 1,4 que fica 2

for(int j=0;j<qtdArquivos;j++)

//cria o arquivo nesta linha
//abreArquivo

for(int i=0;((i<500)&&(k<registros.size()-1);i++){ //POG Master

k++;

//salva registros
gravarregistro(registros.get(k));

}

}[/code]

cara ficou muito POG meu código tem que reestruturar…vish… (tenta trocar o for do meio por um while…)

[quote=douglaskd][quote=JavaX_JavaX]

Valeu douglaskd, vou fazer um teste , Grato JavaX[/quote]

opa não vai dar certo haha…vai começar a repetir os registros apartir do 500…

[code]
//grave os registros em um arraylist registros…

//aqui você vai ver quantos arquivos vai precisar:

int qtdArquivos = (int) Math.ceil((registros.size()-1)/500); //math.ceil arredonda para cima, então sendo (700 / 500) vai dar 1,4 que fica 2

for(int j=0;j<qtdArquivos;j++)

//cria o arquivo nesta linha
//abreArquivo

for(int i=0;((i<500)&&(k<registros.size()-1);i++){ //POG Master

k++;

//salva registros
gravarregistro(registros.get(k));

}

}[/code]

cara ficou muito POG meu código tem que reestruturar…vish… (tenta trocar o for do meio por um while…)[/quote]

douglaskd

Blz valeu mesmo vou tentar