Pessoal, eu pesquiso dentro de alguns diretorios os arquivos novos na pasta para importar para o banco.No banco eu guardo o nome do arquivo que ja importei.Depois preciso comparar o nome dos arquivos pra saber se ja foi importado,se sim ,msg de arquivo já importado,se não, processa importação do arquivo,mas não to achando um jeito de conseguir comparar o nome dos arquivos que pesquiso com minha lista de nome que vem do banco.
Vou postar meu código pra vcs verem como eu to fazendo,sei que deve ser mais simples do que penso,mas ainda sou novo em java e em desenvolvimento.
public class BuscaBilhetes {
static String nomeArquivo;
String narquivo;
List<BilhetesImportados> bilhetes;
public void buscaBilhetes(String diretorioBase) {
File diretorio = new File(diretorioBase);
if(!diretorio.exists())
throw new IllegalArgumentException("Diretorio inexistente!");
if(!diretorio.isDirectory())
throw new IllegalArgumentException("Não é diretorio!");
processaDiretorio(diretorio);
}
public void processaDiretorio(File diretorio) {
File[] arquivos = diretorio.listFiles();
for(int i=0;i<arquivos.length;i++){
File arquivo = arquivos[i];
if(arquivo.isDirectory()){
processaDiretorio(arquivo);
}else{
processaArquivo(arquivo);
}
}
}
public void processaArquivo(File arquivo) {
}
public void compara() {
Configurações c = new Configurações();
File f = new File("buscaarquivos.properties");
c.lerPropriedade(f);
String diretorioBase = c.getDiretorioBase();
BuscaBilhetes bb = new BuscaBilhetes();
bb.buscaBilhetes(diretorioBase);
}
public static void main(String[] args) throws SQLException {
BuscaBilhetes b = new BuscaBilhetes();
b.compara();
}
}
e aqui meu select no banco:
public List><BilhetesImportados> selectBilhetesImportados(){
List<BilhetesImportados> bilhetes = new ArrayList();
String selectBilhetesImportados = "select * from garquivosbilimportados ";
ResultSet rs;
try{
pstm = acbd.conectar().prepareStatement(selectBilhetesImportados);
//pstm.setString(1, nomeBilhete);
rs = pstm.executeQuery();
BilhetesImportados bil;
while(rs.next()){
bil = new BilhetesImportados();
bil.setIdArquivoBilhetes( rs.getInt("idarquivobilhete"));
bil.setNomeArquivoBil( rs.getString("nomearquivobil"));
bilhetes.add(bil);
}
}catch(SQLException e){
e.printStackTrace();
}
return bilhetes;
}
aqui nao tem o metodo que faz a importação do arquivo no banco pq não consigo fazer a comparação, então não ia adiantar muito.
Galera quem puder me ajudar, valeu mesmo!