Tengo unas carpetas con una serie de fichero en cada una.En ellas hay 2 tipos de ficheros:los que tiene en la posicion 4 del nombre una v o los que tienen una f.
Quiero guardar en un array de bytes las de v y en otro las de f.El problema esque me guarda en la primera posicion el ultimo valor que toma y en las otras 0.¿Alguien me pude decir que estoy haciendo mal?
Quiero guardar en un array de bytes las de v y en otro las de f.El problema esque me guarda en la primera posicion el ultimo valor que toma y en las otras 0.¿Alguien me pude decir que estoy haciendo mal?
Código [Seleccionar]
public static void dir(File dir, int nivel) throws IOException {
verdaderas = 0;
falsas = 0;
// Indentación según el nivel
String indentacion = "";
for (int i = 0; i < nivel+1; i++) {
indentacion += " ";
}
// Listamos los ficheros y subdirectorios
File[] lista = dir.listFiles();
V = new byte[lista.length];
F = new byte[lista.length];
for (int i = 0; i < lista.length; i++) {
if (!lista[i].isDirectory()) {
if (lista[i].getName().charAt(4) == 'v') {
V[verdaderas]++;
} else {
F[falsas]++;
}
} else {
System.out.println("Carpeta :" + lista[i].getName());
num++;//numero de carpetas
dir(lista[i], nivel + 1);
}
} // end del for
System.out.println("La carpeta tiene " + verdaderas
+ " firmas verdaderas y " + falsas + " firmas falsas");
} // end dir
public static void main(String[] args) throws IOException {
dir(f, 0);//f es el objeto file creado
for (int i = 0; i < num; i++) {
System.out.println(V[i]);
}
System.out.println();
for (int i = 0; i < num; i++) {
System.out.println(F[i]);
}
}