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.