När man överför filer från kameramappen till en arbetsyta där vi vill analysera bilderna blir det svårt att hantera långa filer och skriva ut dem om och om igen när man testar dem genom kod. Antalet filer kan också vara för stort för att manuellt byta namn på var och en av dem. Därför blir det en nödvändighet att automatisera bytesprocessen.
css opacitetsövergång
I den här artikeln ska vi lära oss hur man byter namn på alla filer i en mapp med Java.
Exempel: Vi kan ha filnamn så här:
Anta att vi har 50 filer i mappen
'C:UsersAnannya UberoiDesktopmyfolder':
Ögonblicksbild 1 (2025-05-12 11-57).webp
Ögonblicksbild 2 (2025-05-12 11-57).webp
Snapshot 3 (12-05-2025 11-57).webp
Snapshot 4 (12-05-2025 11-57).webp och så vidare.
Istället för att manuellt byta namn på dessa filer kan vi byta namn på alla filer i en mapp med hjälp av ett enkelt Java-program. På så sätt kan vi byta namn på filerna till något enklare som 1.webp 2.webp och 3.webp.
Låt oss nu se hur vi ska implementera detta i Java.
Problem:
Vi har många filer som heter något så här:
Ögonblicksbild 1 (2025-05-12 11-57).webp
Ögonblicksbild 2 (2025-05-12 11-57).webp
Snapshot 3 (12-05-2025 11-57).webp
dijkstra
Vi strävar efter att döpa om dem till något som nedan:
1.webp
2.webp
3.webp
Byt namn på alla filer i en mapp med Java
Lösning:
För att lösa detta problem kommer vi att skriva ett litet Java-program som kommer att gå igenom varje fil i en mapp och byta namn på den till ett enkelt sekvensnummer och behålla filtillägget som .webp eller .webp .
Exempel:
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
Förklaring: I det här exemplet måste vi först definiera mappsökvägen där filerna lagras och sedan ska vi hämta filerna från den mappen och sedan går den igenom varje fil och extraherar dess filtillägg. För varje fil skapas ett nytt namn baserat på räknaren och byter namn på filen. Efter att ha bytt namn på filerna skrivs de omdöpta filerna ut eller om ett fel inträffar skrivs det ut att namnbytet misslyckades.
Viktiga punkter:
- Om mappen inte innehåller några filer kommer programmet att meddela oss med meddelandet "Inga filer hittades i katalogen".
- Om en fil inte kan byta namn kommer programmet att skriva ut ett felmeddelande för den filen.
- Programmet fungerar bara för filer och ignorerar undermappar. Om du har undermappar i din mapp kommer de inte att döpas om.