Galera prazer…
Direto ao ponto !
Tenho um algoritmo simples demais até, só que não sei como proceder, talvez por não ter muita experiência na prática no momento
Tenho que ler um diretório – moleza
Guardar o nome de cada arquivo em um vetor – moleza
Pegar um pedaço específico do nome – moleza.
Saber quantas Empresas se repetem como mostra o exemplo abaixo
O nome do arquivo:
xxxxxxxxxxxxxxxxxxxxxxx488201xxxxxxxxxxxxxxxxxxx.pdf
xxxxxxxxxxxxxxxxxxxxxxx488201xxxxxxxxxxxxxxxxxxx.pdf
xxxxxxxxxxxxxxxxxxxxxxx488201xxxxxxxxxxxxxxxxxxx.pdf
xxxxxxxxxxxxxxxxxxxxxxx488201xxxxxxxxxxxxxxxxxxx.pdf
xxxxxxxxxxxxxxxxxxxxxxx488201xxxxxxxxxxxxxxxxxxx.pdf
xxxxxxxxxxxxxxxxxxxxxxx455201xxxxxxxxxxxxxxxxxxx.pdf
xxxxxxxxxxxxxxxxxxxxxxx455201xxxxxxxxxxxxxxxxxxx.pdf
xxxxxxxxxxxxxxxxxxxxxxx455201xxxxxxxxxxxxxxxxxxx.pdf
xxxxxxxxxxxxxxxxxxxxxxx455201xxxxxxxxxxxxxxxxxxx.pdf
xxxxxxxxxxxxxxxxxxxxxxx455201xxxxxxxxxxxxxxxxxxx.pdf
Ai neste caso são 10 arquivos mas somente 2 Empresas.
Parte que eu recupero : 488201
Objetivo, no meio de 3000 arquivos tenho que verificar quantas empresas existem
Esse foi o algoritmo que eu criei para tal, ele até recupera só que eu fiz um teste com 166 arquivos deveria retornar 31 Empresas , só que retorna somente 21.
Os Srs muito mais experiêntes poderiam me dar uma luz ???
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;
public class RecuperaArquivos
{
public static void main(String[] args)
{
String dir = "C:/pdfTeste/";
File diretorio = new File(dir);
File fList[] = diretorio.listFiles();
System.out.println("Numero de arquivos no diretorio : " + fList.length );
int total = 0;
int totalEmp = 0;
for ( int i = 0; i < fList.length; i++ ){
String nArqComp = fList[i].getName();
String nArquivo = fList[i].getName().substring(21, 26);
if(nArqComp.regionMatches(21, nArquivo, 26, 57)){
totalEmp ++;
}
}
System.out.println("Total de empresas: " + totalEmp);
}
[]'s
E muito obrigado.