Hola:
Creo que el problema puede estar aquí.
Cita:
Iniciado por diegovos f[i]=new File("D:\\...\\archs\\"+s);
el valor de f[i] cuando es mayor que 0, es decir cuando ya ha creado el primer archivo, es siempre el mismo.
Prueba a ver que valor tiene f[i] antes de crear el fichero.
Saludos.