Prilikom prijenosa datoteka iz mape fotoaparata u radni prostor gdje bismo željeli analizirati slike postaje teško nositi se s dugim datotekama i upisivati ih uvijek iznova kada ih testiramo kroz kod. Također, broj datoteka može biti prevelik za ručno preimenovanje svake od njih. Stoga postaje neophodno automatizirati proces preimenovanja.
cimet vs mate
U ovom članku ćemo naučiti kako preimenovati sve datoteke u mapi pomoću Jave.
Primjer: Možda imamo ovakva imena datoteka:
Pretpostavimo da imamo 50 datoteka u mapi
'C:UsersAnannya UberoiDesktopmyfolder':
Snimak 1 (12-05-2025 11-57).webp
Snimak 2 (12-05-2025 11-57).webp
Snimak 3 (12-05-2025 11-57).webp
Snimka 4 (12-05-2025 11-57).webp i tako dalje.
Umjesto ručnog preimenovanja ovih datoteka, možemo preimenovati sve datoteke u mapi uz pomoć jednostavnog Java programa. Na ovaj način možemo preimenovati datoteke u nešto lakše poput 1.webp 2.webp i 3.webp.
Sada da vidimo kako ćemo ovo implementirati u Javi.
Problem:
Imamo puno datoteka koje se nazivaju otprilike ovako:
Snimak 1 (12-05-2025 11-57).webp
Snimak 2 (12-05-2025 11-57).webp
Snimak 3 (12-05-2025 11-57).webp
Namjeravamo ih preimenovati u nešto poput sljedećeg:
1.webp
2.webp
3.webp
Preimenujte sve datoteke u mapi pomoću Jave
Otopina:
Kako bismo riješili ovaj problem, napisat ćemo mali Java program koji će proći kroz svaku datoteku u mapi i preimenovati je u jednostavan redni broj i zadržati ekstenziju datoteke kao .webp ili .webp .
Primjer:
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.'); } } }
Izlaz:
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
Obrazloženje: U ovom primjeru prvo moramo definirati putanju mape u kojoj su datoteke pohranjene, a zatim ćemo dohvatiti datoteke iz te mape, a zatim prolazi kroz svaku datoteku i ekstrahira njenu datotečnu ekstenziju. Za svaku datoteku stvara novi naziv na temelju brojača i preimenuje datoteku. Nakon preimenovanja datoteka ispisuje preimenovane datoteke ili, ako dođe do greške, ispisuje da preimenovanje nije bilo uspješno.
java switch izjava
Važne točke:
- Ako mapa ne sadrži nijednu datoteku, program će nas obavijestiti porukom 'Nisu pronađene datoteke u direktoriju'.
- Ako se datoteka ne uspije preimenovati, program će ispisati poruku o pogrešci za tu datoteku.
- Program radi samo za datoteke i zanemaruje podmape. Ako u svojoj mapi imate podmape, one se neće preimenovati.