• 0

حذف نص محدد من ملف في الجافا

 

السلام عليكم شباب من فضلكم طريقة حذف نص داخل ملف نصي في الجافا دون فقدان باقي النص 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

الفكرة أخي الكريم أننا سنقوم بقراءة الملف الحالي وإضافة سطر سطر إلى ملف جديد ولكن قبل أن نضع السطر فى الملف الجديد سنقوم بعمل شرط لكي نختبر هل هذا السطر نريد حذفه أم لا مثال : 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


class Solution {
    public static void main(String[] args) throws FileNotFoundException, IOException{

        File inputFile = new File("myFile.txt");
        File tempFile = new File("myTempFile.txt");

        BufferedReader reader = new BufferedReader(new FileReader(inputFile));
        BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));

        String lineToRemove = "bbb";
        String currentLine;

        while((currentLine = reader.readLine()) != null) {
            String trimmedLine = currentLine.trim();
            if(trimmedLine.equals(lineToRemove)) continue;
            writer.write(currentLine + System.getProperty("line.separator"));
        }
        writer.close(); 
        reader.close(); 
        boolean successful = tempFile.renameTo(inputFile);
        System.out.println(successful);

    }
}

لو تلاحظ أخي الكريم هنا 

 File inputFile = new File("myFile.txt"); // هذا الملف الأصلي لدينا 
 
 File tempFile = new File("myTempFile.txt"); // هذا ملف جديد نقوم بإنشاؤه

هذا السطر نقوم من خلاله بالقراءه من الملف الأول 

BufferedReader reader = new BufferedReader(new FileReader(inputFile));

وهذا السطر نقوم من خلاله للكتابة فى الملف الجديد 

BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));

وهذا السطر نقوم من خلاله بتحديد نص السطر الذي نريد أن نحذفه

String lineToRemove = "bbb";

ثم أخيراً نقوم بعمل while loop لكي نقرأ الأسطر الخاصة بالملف الأول 

while((currentLine = reader.readLine()) != null) {
 String trimmedLine = currentLine.trim();
 if(trimmedLine.equals(lineToRemove)) continue; // هنا نقوم بعمل الشرط الخاص بنا فإذا وجدنا السطر يساوي السطر الذي نريد حذفه فلا نقوم بإضافته فى الملف الجديد 
 writer.write(currentLine + System.getProperty("line.separator"));
}

وأخر أمر نقوم بعمل rename لإسم الفايل عن طريق 

boolean successful = tempFile.renameTo(inputFile);

 

تمّ تعديل بواسطة يوسف احمد9

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

وعليكم السلام ورحمة الله وبركاته

  • إذا ممكن توضيح اكثر عندك ملف بتحتاج تمسح سطر معين او كلمه معينه من هذا الملف دون فقدان باقي محتوي الملف
  • يمكنك عمل tmp file و قراءة ملف source file وعمل contition إذا هذا السطر او الكلمه المراد مسحه تعملها skip وما تضيفها لل tmp file وفي النهايه تنسخ ال tmp file إلي source file

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن