logo

Sådan omdøbes alle filer i en mappe ved hjælp af Java?

Når du overfører filer fra kameramappen til et arbejdsområde, hvor vi gerne vil analysere billederne, bliver det svært at håndtere lange filer og skrive dem ud igen og igen, når du tester dem gennem kode. Også antallet af filer kan være for stort til manuelt at omdøbe hver enkelt af dem. Derfor bliver det en nødvendighed at automatisere omdøbningsprocessen.

css ændre billedstørrelse

I denne artikel skal vi lære hvordan man omdøber alle filer i en mappe ved hjælp af Java.

Eksempel: Vi kan have filnavne som dette:



Antag, at vi har 50 filer i mappen

'C:UsersAnannya UberoiDesktopmyfolder':

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

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

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

Snapshot 4 (12-05-2025 11-57).webp og så videre.

I stedet for manuelt at omdøbe disse filer kan vi omdøbe alle filer i en mappe ved hjælp af et simpelt Java-program. På denne måde kan vi omdøbe filerne til noget lettere som 1.webp 2.webp og 3.webp.

Lad os nu se, hvordan vi skal implementere dette i Java.

Problem:

Vi har mange filer, der hedder noget som dette:

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

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

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


Vi sigter efter at omdøbe dem til noget som nedenfor:

ugyldig 0

1.webp

2.webp

3.webp

Omdøb alle filer i en mappe ved hjælp af Java

Løsning:

For at løse dette problem vil vi skrive et lille Java-program, der vil gennemgå hver fil i en mappe og omdøbe den til et simpelt sekventielt nummer og beholde filtypenavnet som .webp eller .webp .

Eksempel:

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.');  }  } } 

Produktion:

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

Forklaring: I dette eksempel skal vi først definere mappestien, hvor filerne er gemt, og derefter skal vi hente filerne fra den mappe, og derefter går den gennem hver fil og udtrækker dens filtypenavn. For hver fil opretter den et nyt navn baseret på tælleren og omdøber filen. Efter omdøbning af filerne udskriver den de omdøbte filer, eller hvis der opstår en fejl, udskriver den, at omdøbningen ikke lykkedes.

Vigtige punkter:

  • Hvis mappen ikke indeholder nogen filer, vil programmet give os besked med en besked 'Ingen filer fundet i mappen'.
  • Hvis en fil ikke kan omdøbe, udskriver programmet en fejlmeddelelse for den pågældende fil.
  • Programmet virker kun for filer og ignorerer undermapper. Hvis du har undermapper i din mappe, bliver de ikke omdøbt.
Opret quiz