logo

Come rinominare tutti i file di una cartella utilizzando Java?

Quando si trasferiscono file dalla cartella della fotocamera a un'area di lavoro in cui vorremmo analizzare le immagini, diventa difficile gestire file lunghi e digitarli ancora e ancora durante il test tramite codice. Inoltre, il numero di file potrebbe essere troppo grande per rinominarli manualmente. Diventa quindi necessario automatizzare il processo di ridenominazione.

formato stringa Java lungo

In questo articolo impareremo come rinominare tutti i file di una cartella utilizzando Java.

Esempio: Potremmo avere nomi di file come questi:



Supponiamo di avere 50 file nella cartella

'C:UsersAnannya UberoiDesktopmiacartella':

Istantanea 1 (12-05-2025 11-57).webp

Istantanea 2 (12-05-2025 11-57).webp

Istantanea 3 (05-12-2025 11-57).webp

Istantanea 4 (12-05-2025 11-57).webp e così via.

Invece di rinominare manualmente questi file, possiamo rinominare tutti i file in una cartella con l'aiuto di un semplice programma Java. In questo modo possiamo rinominare i file in qualcosa di più semplice come 1.webp 2.webp E 3.webp.

Ora vediamo come lo implementeremo in Java.

Problema:

Abbiamo molti file che hanno nomi simili a questo:

Istantanea 1 (12-05-2025 11-57).webp

lo scorrimento del mouse non funziona

Istantanea 2 (12-05-2025 11-57).webp

Istantanea 3 (05-12-2025 11-57).webp


Il nostro obiettivo è rinominarli in qualcosa come di seguito:

1.webp

2.webp

3.webp

Rinominare tutti i file di una cartella utilizzando Java

Soluzione:

Per risolvere questo problema scriveremo un piccolo programma Java che esaminerà ogni file in una cartella e lo rinominerà con un semplice numero sequenziale e manterrà l'estensione del file come .webp O .webp .

Esempio:

Java
// Java program to demonstrate  // how to rename all files import java.io.File; import java.io.IOException; public class Geeks {    public static void main(String[] args) throws IOException {    // Set the folder path where your files are located  String folderPath = 'C:\Users\Anannya Uberoi\Desktop\myfolder';  // Create a File object for the folder  File folder = new File(folderPath);  // Get a list of all files in the folder  File[] files = folder.listFiles();  // Check if there are any files in the folder  if (files != null) {  int counter = 1;  // Loop through all files in the folder  for (File file : files) {    // Check if it's a file (not a folder)  if (file.isFile()) {  String fileName = file.getName();  String fileExtension = '';  // Extract the file extension (e.g. .webp .webp)  int dotIndex = fileName.lastIndexOf('.');  if (dotIndex > 0) {  fileExtension = fileName.substring(dotIndex);  }  // Create the new file name (e.g. 1.webp 2.webp etc.)  String newFileName = counter + fileExtension;  // Create a new File object with the new file name  File renamedFile = new File(folderPath + '' + newFileName);  // Rename the file  if (file.renameTo(renamedFile)) {  System.out.println('Renamed: ' + fileName + ' -> ' + newFileName);  } else {  System.out.println('Failed to rename: ' + fileName);  }  // Increment the counter for the next file  counter++;  }  }  } else {  System.out.println('No files found in the directory.');  }  } } 

Produzione:

Renamed: Snapshot 1 (12-05-2025 11-57).webp -> 1.webp  
Renamed: Snapshot 2 (12-05-2025 11-57).webp -> 2.webp
Renamed: Snapshot 3 (12-05-2025 11-57).webp -> 3.webp

Spiegazione: In questo esempio dobbiamo prima definire il percorso della cartella in cui sono archiviati i file, quindi recupereremo i file da quella cartella, quindi scorreremo ciascun file ed estrarremo la sua estensione di file. Per ogni file crea un nuovo nome in base al contatore e rinomina il file. Dopo aver rinominato i file, stampa i file rinominati o se si verifica un errore, stamperà che la ridenominazione non è riuscita.

Punti importanti:

  • Se la cartella non contiene alcun file il programma ci avviserà con il messaggio 'Nessun file trovato nella directory'.
  • Se un file non viene rinominato, il programma stamperà un messaggio di errore per quel file.
  • Il programma funziona solo per i file e ignora le sottocartelle. Se nella cartella sono presenti sottocartelle, queste non verranno rinominate.
Crea quiz