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.