Como ler varios arquivos selecionado de um fileChooser

Boa Tarde!

pessoal preciso de uma ajudinha

o Metodo abaixo esta funcionando perfeitamento , porem somente quanto eu seleciono um arquivo no filechooser

porem preciso selecionar mais de um , ou seja tenho que ler um vetor de arquivos

public String AppendRemissao(File[] Arquivo_Remissao){

mais não sei como fazer

agradeço caso alguem possa me ajudar o que preciso mudar no metodo abaixo

Att Javax

/** 
Metodo Append Para Carregar As Tabelas Com os Dados de Remissao              <p>
1 Argumento                                                                  <p>
1º Tipo String                                                               <p>
Exemplo de Uso =  Append(Arquivo_Remissao);                                  <p>
 */
 public String AppendRemissao(File Arquivo_Remissao){    
  // Começo Conecta Banco de Dados em Run Time , Em tempo de Execução
     final BancoDao conexao = new BancoDao();                                     //Estancia da Classe BancoDao Para Criar o Objeto Conexãoo
     conexao.connect();                                                           //Conexão com o Banco
     //System.out.println("1 = "+conexao.getDatabaseLocation());                    // Verifica Local de Criação do Banco
     //System.out.println("2 = "+conexao.getDatabaseUrl());                         // Verifica Driver
  // Final Conecta Banco de Dados em Run Time , Em tempo de Execução
   
  try{
    FileReader reader = new FileReader(Arquivo_Remissao);
    BufferedReader bufReader = new BufferedReader(reader);

    while ((dadosRemissao = bufReader.readLine()) != null) {
      dados     =  "";
      tabela    = "Remissao"+Space(1);
      campos    =  "Linhas";
      dados     =  "'"+dadosRemissao.trim()+"'";      
      
      if (dados.length() > 502){
       String[] Resposta = {"Sim", "Não"};    
        Verifica = JOptionPane.showOptionDialog(null, "Linha Maior que a Tupla do Banco Deseja Continuar ?", "Erro Por favor Verificar", 0 ,JOptionPane.QUESTION_MESSAGE, null, Resposta, Resposta[0]);
         if(Verifica == 1 ){
          System.exit(0);
         }   
      }
 
        System.out.println(dados);
        
        
         conexao.executeSQL_BdAppend("Insert Into "                             // Comando Sql
         +"App."                                                                // Squema Da Tabela
         +""+ tabela +""                                                        // Tipo de Tabela
         +"("+ campos +")"                                                      // Nomes dos Campos Da tabela
         +" values (" + dados + ")");                                           // Dados a ser Inseridos Nos Campos Da tabela
     
    }

      bufReader.close();
      reader.close();
   }
   catch (IOException erro){
   //informacao = erro.getMessage();
   }
  return dadosRemissao; 
  }

JavaX_JavaX para isso vc precisar setar o JFileChooser para aceitar múltipla seleção, vc pode fazer isso através do código

setMultiSelectionEnabled(true);

e utiliza o método getSelectedFiles(); que ele te retorna um vetor de File.

[quote=JavaX_JavaX]Boa Tarde!

pessoal preciso de uma ajudinha

o Metodo abaixo esta funcionando perfeitamento , porem somente quanto eu seleciono um arquivo no filechooser

porem preciso selecionar mais de um , ou seja tenho que ler um vetor de arquivos

public String AppendRemissao(File[] Arquivo_Remissao){

mais não sei como fazer

agradeço caso alguem possa me ajudar o que preciso mudar no metodo abaixo

Att Javax

[code]
/**
Metodo Append Para Carregar As Tabelas Com os Dados de Remissao


1 Argumento


1º Tipo String


Exemplo de Uso = Append(Arquivo_Remissao);


*/
public String AppendRemissao(File Arquivo_Remissao){
// Começo Conecta Banco de Dados em Run Time , Em tempo de Execução
final BancoDao conexao = new BancoDao(); //Estancia da Classe BancoDao Para Criar o Objeto Conexãoo
conexao.connect(); //Conexão com o Banco
//System.out.println("1 = "+conexao.getDatabaseLocation()); // Verifica Local de Criação do Banco
//System.out.println("2 = "+conexao.getDatabaseUrl()); // Verifica Driver
// Final Conecta Banco de Dados em Run Time , Em tempo de Execução

try{
FileReader reader = new FileReader(Arquivo_Remissao);
BufferedReader bufReader = new BufferedReader(reader);

while ((dadosRemissao = bufReader.readLine()) != null) {
  dados     =  "";
  tabela    = "Remissao"+Space(1);
  campos    =  "Linhas";
  dados     =  "'"+dadosRemissao.trim()+"'";      
  
  if (dados.length() > 502){
   String[] Resposta = {"Sim", "Não"};    
    Verifica = JOptionPane.showOptionDialog(null, "Linha Maior que a Tupla do Banco Deseja Continuar ?", "Erro Por favor Verificar", 0 ,JOptionPane.QUESTION_MESSAGE, null, Resposta, Resposta[0]);
     if(Verifica == 1 ){
      System.exit(0);
     }   
  }

    System.out.println(dados);
    
    
     conexao.executeSQL_BdAppend("Insert Into "                             // Comando Sql
     +"App."                                                                // Squema Da Tabela
     +""+ tabela +""                                                        // Tipo de Tabela
     +"("+ campos +")"                                                      // Nomes dos Campos Da tabela
     +" values (" + dados + ")");                                           // Dados a ser Inseridos Nos Campos Da tabela
 
}

  bufReader.close();
  reader.close();

}
catch (IOException erro){
//informacao = erro.getMessage();
}
return dadosRemissao;
}
[/code][/quote]

Bom pessoal , Resolvi conforme abaixo Porem está dando o maldito heap space

//******************************************** teste 
  
  /** 
Metodo Append Para Carregar As Tabelas Com os Dados de Remissao              <p>
1 Argumento                                                                  <p>
1º Tipo String                                                               <p>
Exemplo de Uso =  Append(Arquivo_Remissao);                                  <p>
 */
 public String AppendTeste(File[] Arquivo_Remissao){    
  // Começo Conecta Banco de Dados em Run Time , Em tempo de Execução
     final BancoDao conexao = new BancoDao();                                     //Estancia da Classe BancoDao Para Criar o Objeto Conexãoo
     conexao.connect();                                                           //Conexão com o Banco
     //System.out.println("1 = "+conexao.getDatabaseLocation());                    // Verifica Local de Criação do Banco
     //System.out.println("2 = "+conexao.getDatabaseUrl());                         // Verifica Driver
  // Final Conecta Banco de Dados em Run Time , Em tempo de Execução

for (int i=0; i < Arquivo_Remissao.length; i++) {
     
  try{
    BufferedReader bufReader = new BufferedReader(new FileReader(Arquivo_Remissao[i]));

    while ((dadosRemissao = bufReader.readLine()) != null) {
      dados     =  "";
      tabela    = "Remissao"+Space(1);
      campos    =  "Linhas";
      dados     =  "'"+dadosRemissao.trim()+"'";      
      
      if (dados.length() > 502){
       String[] Resposta = {"Sim", "Não"};    
        Verifica = JOptionPane.showOptionDialog(null, "Linha Maior que a Tupla do Banco Deseja Continuar ?", "Erro Por favor Verificar", 0 ,JOptionPane.QUESTION_MESSAGE, null, Resposta, Resposta[0]);
         if(Verifica == 1 ){
          System.exit(0);
         }   
      }
 
        //System.out.println(dados);
        
        
         conexao.executeSQL_BdAppend("Insert Into "                             // Comando Sql
         +"App."                                                                // Squema Da Tabela
         +""+ tabela +""                                                        // Tipo de Tabela
         +"("+ campos +")"                                                      // Nomes dos Campos Da tabela
         +" values (" + dados + ")");                                           // Dados a ser Inseridos Nos Campos Da tabela
     
    }

      bufReader.close();
     // reader.close();
   }
   catch (IOException erro){
   //informacao = erro.getMessage();
   }
} // end for

  return dadosRemissao;
  }

[quote=urbgames]JavaX_JavaX para isso vc precisar setar o JFileChooser para aceitar múltipla seleção, vc pode fazer isso através do código

setMultiSelectionEnabled(true);

e utiliza o método getSelectedFiles(); que ele te retorna um vetor de File.[/quote]

Valeu mesmo urbgames

consegui resolver , o problema e que está dando o maldito heap space

se vc puder me dar uma dica

Att JavaX

Rapaz dá uma revisada em teu código pra ver se ñ tem algum loop infinito ou coisa do tipo. São muitos arquivos q vc está selecionando?

Dá uma olhada neste tópico.

Vc pode tentar adicionar um argumento no JVM para aumentar a memória alocada para a aplicação, utiliza o argumento “-Xmx256m”. O 256m é referente a memória alocada.

Caso queira procurar a raiz do problema dá uma olhada nesse tópico:

blz , valeu a atenção vou dar uma olhada