الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهو Buffered Reader و LineReader ، ممكن تعريفهما

بدأه Lovedove010 في 10 أبريل 2010 · 7 رد · 2,851 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ماهو Buffered Reader و LineReader في الجافا ، ممكن تعريفهما

و إعطاء مثال عليهمـــــــــــــــا .

#2
Lovedove010 كتب:

ماهو Buffered Reader و LineReader في الجافا ، ممكن تعريفهما

و إعطاء مثال عليهمـــــــــــــــا .

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

أخي الكريم Lovedove010

Buffered Reader و LineReader يستخدمان لقراءة البيانات الموجودة فى ملف ما وليكن مثلا من ملف text

وهما مرتبطين ببعضهما وهما عبارة عن methods فى classes جاهزة موجودة فى جافا

فمثلا :-

لقراءة البيانات الموجودة فى ملف سمه karim.txt نتبع الاتي :- طبعا أملأه بعدة قيم من عندك

اولا :- نفتح object من class اسمه file علشان اعطي له اسم الملف الذى سأتعامل معه والذى سوف استخرج منه البيانات

File f = new File("karim.txt");

وطبعا ممكن اعطي له المسار كاملا الخاص بالملف ولكن هنا اعطيته الاسم فقط لان الملف موجود فى نفس مسار المشروع

ثانيا : نفتح object من class اسمه FileReader واعطيه الreferance بتاع ال file أى اعطيه f كالتالي

FileReader fr= new FileReader(f);

ودي لازم اعملها try........catch الcatch ستجدها فى نهاية الشرح

لان الملف ممكن يكون غير موجود FileNotFoundException

ثالثا:- نفتح object من class اسمه BufferedReader واعطيه الreferance بتاع ال FileReader أى اعطيه fr كالتالي

 
BufferedReader br = new BufferedReader(fr);

رابعا :- لحد هذه اللحظة بنعرف جافا اني هستخدم الملف karim.txt نأتي لمرحلة القراءة من الملف ودي بنستخدم لها method داخل الclass الل اسمه BufferedReader هذه الmethod اسمها readLine هي المسئوله عن قراءة اسطر أي ملف

وهذه الmethod بترجع حاجة من نوع string أي يترجع السطر اللي هي ببتقرأه لان الstring يمكن ان يخزن اي نوع من انواع البيانات ودي بنعرفها كالتالي:

String line= br.readLine();

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

مع العلم أن

نأتي الى نهاية الملف عندما لا يوجد أسطر بها بيانات أي ان هذه السطور فارغة مثل اي ملف من نوع text تفتحه لأول مره تجده فارغ وهذه هي التي سنلعب عليها داخل while

حيث اني اخبره بأن يلف على جميع اسطر الملف الى ان يصل الى السطور الفارفة وسوف اطبع القيم أآ السطور التى سيحصل عليها وسيكون الكود كالتالى

String line= br.readLine();
           while(line!=null){
               System.out.println(line);
               line = br.readLine();
           }

ومننساش هندله الtry أقصد بتاع ال catch

وده الكود بتاع ال catch

catch(FileNotFoundException E){
            System.out.println(E.getMessage());
        }
        catch(IOException e){
            System.out.println(e.getMessage());
        }

وهذا هو الكود النهائي لليرنامج

    File f = new File("1/karim.txt");
        try{      
        FileReader fr= new FileReader(f);

            BufferedReader br = new BufferedReader(fr);

            String line= br.readLine();
           while(line!=null){
               System.out.println(line);
               line = br.readLine();
           }

        }
        catch(FileNotFoundException E){
            System.out.println(E.getMessage());
        }
        catch(IOException e){
            System.out.println(e.getMessage());
        }
4
#3

أظن أنك تقصد LineNumberReader وليس LineReader

LineNumberReader و BufferedReader متشابهان جدا، لأن الأول يرث من الثاني. الفرق الوحيد بينهما هو أن LineNumberReader تتيح معرفة رقم السطر الحالي الذي تتم قرائته

مثال

import java.io.LineNumberReader;
import java.io.FileReader;

public class Test {
	public static void main(String[] args) throws Exception {
		LineNumberReader reader = new LineNumberReader(new FileReader("file.txt"));
		String currentLine;
		while ((currentLine = reader.readLine()) != null) { 
			int currentLineNumber = reader.getLineNumber();
			System.out.println(currentLineNumber + " - " + currentLine);
		}
	}
}
2
#4

السلام عليكم

انا ادرس فى الجامعة مادة تنظيم ملفات و لكن بلغة السى بلس بلس

سؤال:::

هل من السهل على ان اطبق هذة المفاهيم على الجافا دوى الحاجة لدراسة المادة من جديد بلغة الجافا؟؟؟

00020309t.gif

1958_1963.gif
#5

ما الذي تقومون به في هذه المادة؟

#6

هذة المادة للتعامل مع الملفات

انشاء ملفات و نسخ بيانات و قراءة و كتابة بيانات بداخل ملفات و هكذا........

00020309t.gif

1958_1963.gif
#7

-_-

:blush:

تم تعديل هذه المشاركة بواسطة JustPassing في 10 أبريل 2010 في 14:34

#8

هذه العمليات متاحة تقريبا من طرف كل اللغات البرمجية.

لا يجب تعلم شيء بالتحديد، فقط ال syntax الخاصة بالجافا والclasses الخاصة بال I/O

توجد بعض الأمثلة الموجودة في موضوع الأسئلة المتبث http://www.arabteam2...howtopic=167926

تم تعديل هذه المشاركة بواسطة JustPassing في 10 أبريل 2010 في 14:32

مواضيع مشابهة