logo

Kako preimenovati sve datoteke u mapi pomoću Jave?

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.
Napravi kviz