logo

Как да преименувате всички файлове на папка с помощта на Java?

Когато прехвърляме файлове от папката на камерата в работно пространство, където бихме искали да анализираме снимките, става трудно да се справяме с дълги файлове и да ги въвеждаме отново и отново, когато ги тестваме чрез код. Освен това броят на файловете може да е твърде голям, за да преименувате ръчно всеки един от тях. Следователно става необходимост от автоматизиране на процеса на преименуване.

java формат на низ дълъг

В тази статия ще научим как да преименувате всички файлове в папка с помощта на Java.

Пример: Може да имаме имена на файлове като това:



Да приемем, че имаме 50 файла в папката

„C:UsersAnannya UberoiDesktopmyfolder“:

Моментна снимка 1 (12-05-2025 11-57).webp

Моментна снимка 2 (12-05-2025 11-57).webp

Моментна снимка 3 (12-05-2025 11-57).webp

Моментна снимка 4 (12-05-2025 11-57).webp и т.н.

Вместо ръчно да преименуваме тези файлове, можем да преименуваме всички файлове в папка с помощта на проста програма на Java. По този начин можем да преименуваме файловете на нещо по-лесно като 1.webp 2.webp и 3.webp.

Сега нека видим как ще приложим това в Java.

проблем:

Имаме много файлове, които се наричат ​​по следния начин:

Моментна снимка 1 (12-05-2025 11-57).webp

java listnode

Моментна снимка 2 (12-05-2025 11-57).webp

Моментна снимка 3 (12-05-2025 11-57).webp


Имаме за цел да ги преименуваме на нещо подобно по-долу:

1.webp

2.webp

3.webp

Преименувайте всички файлове на папка с помощта на Java

Решение:

За да разрешим този проблем, ще напишем малка Java програма, която ще премине през всеки файл в папка и ще го преименува на прост пореден номер и ще запази файловото разширение като .webp или .webp .

Пример:

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

Изход:

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

Обяснение: В този пример първо трябва да дефинираме пътя на папката, където се съхраняват файловете, след което ще извлечем файловете от тази папка и след това ще премине през всеки файл и ще извлече файловото му разширение. За всеки файл той създава ново име въз основа на брояча и преименува файла. След преименуване на файловете той отпечатва преименуваните файлове или ако възникне грешка, ще отпечата, че преименуването не е било успешно.

Важни точки:

  • Ако папката не съдържа никакви файлове, програмата ще ни уведоми със съобщение „Няма намерени файлове в директорията“.
  • Ако даден файл не успее да преименува, програмата ще отпечата съобщение за грешка за този файл.
  • Програмата работи само за файлове и игнорира подпапки. Ако имате подпапки във вашата папка, те няма да бъдат преименувани.
Създаване на тест