Nel tuo codice c'è sicuramente un errore concettuale e una inefficienza:
L'errore concettuale risiede nel metodo getTextTo000():
La parte in grassetto non verrà mai eseguita, poichè se la variabile "i" è maggiore di 99 a maggior ragione sarà maggiore di "9", quindi viene intercettata nel caso precedente. Questo può dar luogo a valori come "0100", che presumibilmente non ti vanno bene (vorresti avere "100"). Da rivedere: inverti l'ordine dei confronti.codice:private static String getTextTo000 (int count, int i){ String name = ""; if (i <= 9) name = "00" + i; else if (i > 9) name = "0" + i; else if (i > 99) name = "" + i; else System.err.print("Errore calcolo del testo " + " *** " + i); return name + ".jpg"; }
Poi c'è un'inefficienza nel main:
Perchè ottenere nuovamente lo stesso identico array? Ce l'hai già, si chiama "files", usa quello.codice:String files[] = getLlistFile(PATH_ANIME_FOLDER); printStringArray(files); File[] f = getListFile(PATH_ANIME_FOLDER); saveFile(f, PATH_FOLDER);
Per il resto non ho controllato, ma verifica che la directory esista, prima di effettuare la rinomina.
@valia: "direttorio" proprio non lo posso sentire...
Ciao.![]()



Rispondi quotando