اذهب إلى المحتوى
  • 0

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

Ahmed Labadi

السؤال

Recommended Posts

  • 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
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...