execução não para [Tá Complicado!]

Boa tarde, tenho um evento no meu programa que gera um arquivo.txt, o problema é o seguinte, sempre que eu clico nesse botão ele gera o arquivo, mas não para a execução. Alguém sabe o que pode estar ocorrendo:

Segue os fontes:

Evento:

[code]private void btnGerarNFEActionPerformed(java.awt.event.ActionEvent evt) {
List lista = new ArrayList();

    ProdutoNFETableModel pfent = (ProdutoNFETableModel) tabelaProdutos.getModel();

    for(int i = 0; i < tabelaProdutos.getRowCount()-1; i++){
        lista.add(pfent.getProduto(i));
    }
   
    GeraTxt txt = new GeraTxt();
    txt.geraArq(txFormCnpj.getText(), txtNome.getText(), txtInscEstadual.getText(), txtLogradouro.getText(), txtBairro.getText(), txtNumero.getText(), txtComplemento.getText(), txtMunicipio.getText(), txFormDataSaida.getText(), lista, txtCFOP.getText(), txtTotal.getText(), txtVeiculo.getText());
}[/code]

métodos:
Gera o arquivo:

[code]
public void geraArq(String CNPJ, String nome, String ie, String end, String bairro, String numero, String compl, String muni, String dataSaida, List ls, String CFOP, String Total, String Veiculo){
FileWriter fw = null;

    try {
        fw = new FileWriter("C:\Intel\notaTeste.txt");

        fw.write(toStringNFE(CNPJ, nome, ie, end, bairro, numero, compl, muni, dataSaida, ls, CFOP, Total, Veiculo));
        fw.flush();
        fw.close();

    }
    catch (IOException e) {
        e.printStackTrace();
    }
}[/code]

Prepara o arquivo:

[code]
public String toStringNFE(String CNPJ, String nome, String ie, String end, String bairro, String numero, String compl, String muni, String dataSaida, List produtos, String CFOP, String Total, String veiculo){
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);
Date data = new Date(Calendar.getInstance(TimeZone.getDefault()).getTimeInMillis());
String dataStr = sdf.format(data);

    StringBuilder sbpai = new StringBuilder();
    int count = 1;
    StringBuilder sb = new StringBuilder();

    for(Produto p: produtos){
        sb.append("\r\nH|");
        sb.append(count);
        sb.append("|");
        sb.append("\r\nI|");
        sb.append(p.getId());
        sb.append("||");
        sb.append(p.getNomeProd());
        sb.append("|99999999||");
        sb.append(CFOP);
        sb.append("|");
        sb.append(p.getUnidade());
        sb.append("|");
        sb.append(p.getQuantidade());
        sb.append("|");
        sb.append(p.getUnidade());
        sb.append("|");
        sb.append(Total);
        sb.append("||");
        sb.append(p.getUnidade());
        sb.append("|");
        sb.append(p.getQuantidade());
        sb.append("|");
        sb.append(p.getPreco());
        sb.append("|||||1||");
        sb.append("\r\nM \r\nN \r\nN06|0|40 \r\nO|12||||12 \r\nO08|02 \r\nQ \r\nQ04|07 \r\nS \r\nS04|07");
        count ++;
    }
        
    sbpai.append(sb.toString());


    sbpai.append("NOTA FISCAL|1");
    sbpai.append("\r\nA|2.00");
    sbpai.append("\r\nB|43||");
    sbpai.append("VARIAVEL VENDA NO ESTADO"); // trocar
    sbpai.append("|1|55|1|");
    sbpai.append("VAR NRO NOTA FISCAL"); // trocar
    sbpai.append("|");
    sbpai.append(dataStr);
    sbpai.append("|");
    sbpai.append(dataSaida);
    sbpai.append("||1|464564|1|1||1|1|3|2.0.8");
    sbpai.append("\r\nC| NOME||4564565464564||||3 \r\nC02|92828748000103 \r\nC05|NOME|45654||NOME|254764|NOME|RS");
    sbpai.append("\r\nE|");
    sbpai.append(nome);
    sbpai.append("|");
    sbpai.append(ie);
    sbpai.append("|");
    sbpai.append("\r\nE02|");
    sbpai.append("|");
    sbpai.append(CNPJ);
    sbpai.append("\r\nE05|");
    sbpai.append(end);
    sbpai.append("|");
    sbpai.append(numero);
    sbpai.append("|");
    sbpai.append(compl);
    sbpai.append("|");
    sbpai.append(bairro);
    sbpai.append("|");
    sbpai.append(municipio.getMunicipioNome(muni));
    sbpai.append("|");
    sbpai.append(muni);
    sbpai.append("|RS||1058|BRASIL");


    StringBuilder sbfilho = new StringBuilder();
    sbfilho.append("\r\nW");
    sbfilho.append("\r\nW02|");
    sbfilho.append("\r\nX|0");
    sbfilho.append("\r\nX18|");
    sbfilho.append(veiculo);
    sbfilho.append("\r\nZ||");

    sbpai.append(sb.toString());


    sbpai.append(sbfilho);


    return sbpai.toString();

}[/code]

Guisantogui,

Como assim o programa não pará?

Ele fica em loop infinito gravando no arquivo os dados solicitados?

O programa apresenta alguma mensagem de erro durante a execução do mesmo?

Até mais!

Ybadoo
http://www.ybadoo.com.br/

  1. Parece que está num loop infinito, de uma olhada no teste que vc está fazendo com o for .

testa isso

for(int i = 0; i < tabelaProdutos.getRowCount(); i++){ 

ou

for(int i = 0; i <= tabelaProdutos.getRowCount()-1; i++){

Galera olhei o loop e ele não ta executando infinitamente! :confused:

E mesmo depois que eu fecho todas janelas ele continua executando :confused:

Não tem algum metodo que eu mate a JVM ??