logo

Jak zmienić nazwę wszystkich plików folderu za pomocą Java?

Podczas przesyłania plików z folderu aparatu do obszaru roboczego, w którym chcielibyśmy przeanalizować zdjęcia, radzenie sobie z długimi plikami i wpisywanie ich na nowo podczas testowania za pomocą kodu staje się trudne. Również liczba plików może być zbyt duża, aby ręcznie zmienić nazwę każdego z nich. Dlatego koniecznością staje się automatyzacja procesu zmiany nazwy.

Hasext Java

W tym artykule będziemy się uczyć jak zmienić nazwę wszystkich plików w folderze za pomocą Java.

Przykład: Możemy mieć takie nazwy plików:



Załóżmy, że mamy w folderze 50 plików

„C:UsersAnannaa UberoiFolder na pulpicie”:

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

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

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

Migawka 4 (12-05-2025 11-57).webp i tak dalej.

Zamiast ręcznie zmieniać nazwy tych plików, możemy zmienić nazwy wszystkich plików w folderze za pomocą prostego programu Java. W ten sposób możemy zmienić nazwę plików na łatwiejszą, np 1.webp 2.webp I 3.webp.

Zobaczmy teraz, jak zaimplementujemy to w Javie.

Problem:

Mamy wiele plików o nazwach mniej więcej takich:

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

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

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


Naszym celem jest zmiana ich nazw na coś takiego jak poniżej:

if i else w bashu

1.webp

2.webp

3.webp

Zmień nazwę wszystkich plików w folderze przy użyciu języka Java

Rozwiązanie:

Aby rozwiązać ten problem, napiszemy mały program w Javie, który przejrzy każdy plik w folderze i zmieni jego nazwę na prosty numer kolejny, zachowując rozszerzenie pliku takie jak .webp Lub .webp .

Przykład:

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

Wyjście:

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

Wyjaśnienie: W tym przykładzie najpierw musimy zdefiniować ścieżkę folderu, w którym przechowywane są pliki, a następnie pobierzemy pliki z tego folderu, a następnie przejdziemy przez każdy plik i wyodrębnimy jego rozszerzenie. Dla każdego pliku tworzy nową nazwę na podstawie licznika i zmienia nazwę pliku. Po zmianie nazwy plików drukuje pliki o zmienionych nazwach lub w przypadku wystąpienia błędu wyświetla informację, że zmiana nazwy nie powiodła się.

Ważne punkty:

  • Jeżeli w folderze nie będzie żadnych plików, program poinformuje nas o tym komunikatem „Nie znaleziono plików w katalogu”.
  • Jeśli zmiana nazwy pliku nie powiedzie się, program wyświetli komunikat o błędzie dla tego pliku.
  • Program działa tylko dla plików i ignoruje podfoldery. Jeśli w folderze znajdują się podfoldery, ich nazwy nie zostaną zmienione.
Utwórz quiz