عند نقل الملفات من مجلد الكاميرا إلى مساحة عمل حيث نرغب في تحليل الصور، يصبح من الصعب التعامل مع الملفات الطويلة وكتابتها مرارًا وتكرارًا عند اختبارها من خلال التعليمات البرمجية. كما قد يكون عدد الملفات كبيرًا جدًا بحيث لا يمكن إعادة تسمية كل منها يدويًا. ومن ثم يصبح من الضروري أتمتة عملية إعادة التسمية.
عكس السلسلة في ج
في هذه المقالة سوف نتعلم كيفية إعادة تسمية جميع ملفات المجلد باستخدام جافا.
مثال: قد يكون لدينا أسماء ملفات مثل هذا:
افترض أن لدينا 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.ويب 2.ويب و 3.webp.
الآن دعونا نرى كيف سنقوم بتنفيذ ذلك في جافا.
مشكلة:
لدينا الكثير من الملفات التي تمت تسميتها بهذا الشكل:
لقطة 1 (12-05-2025 11-57).webp
لقطة 2 (12-05-2025 11-57).webp
لقطة 3 (12-05-2025 11-57).webp
خطأ في السمة بيثون
نحن نهدف إلى إعادة تسميتها إلى شيء مثل أدناه:
1.ويب
2.webp
3.webp
إعادة تسمية جميع ملفات المجلد باستخدام 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
توضيح: في هذا المثال، نحتاج أولاً إلى تحديد مسار المجلد حيث يتم تخزين الملفات ثم سنقوم باسترداد الملفات من هذا المجلد ثم يقوم بالتكرار خلال كل ملف واستخراج امتداد الملف الخاص به. يقوم بإنشاء اسم جديد لكل ملف بناءً على العداد ويعيد تسمية الملف. بعد إعادة تسمية الملفات، يقوم بطباعة الملفات التي تمت إعادة تسميتها أو في حالة حدوث فشل، سيتم طباعة أن إعادة التسمية لم تكن ناجحة.
نقاط مهمة:
- إذا كان المجلد لا يحتوي على أي ملفات، فسيخبرنا البرنامج برسالة "لم يتم العثور على ملفات في الدليل".
- إذا فشل الملف في إعادة التسمية، فسيقوم البرنامج بطباعة رسالة خطأ لهذا الملف.
- يعمل البرنامج فقط مع الملفات ويتجاهل المجلدات الفرعية. إذا كان لديك مجلدات فرعية في مجلدك، فلن تتم إعادة تسميتها.