menusearch
javapro.ir

♨️ جلسه سی و سوم - کلاس BufferedReader

جستجو
شنبه ۶ مرداد ۱۴۰۳ | ۶:۴۱:۳۰
۱۳۹۵/۱۱/۲۲ جمعه
(8)
(0)
♨️ جلسه سی و سوم - کلاس BufferedReader
♨️ جلسه سی و سوم - کلاس BufferedReader

فهرست جلسات دوره مقدماتی جاوا

مقدمه اول | جاوا چیست؟

مقدمه دوم | تاریخچه جاوا

مقدمه سوم | ویژگی‌های زبان جاوا

جلسه اول | راهنمای دانلود و نصب JDK

جلسه دوم | اجرای یک برنامه جاوا در Notepad

جلسه سوم | راهنمای دانلود و نصب Eclipse

جلسه چهارم | ساخت اولین برنامه جاوا در Eclipse

جلسه پنجم | متغیر ها در جاوا

جلسه ششم | تغییر فونت محیط Eclipse

جلسه هفتم | عملگر‌های پایه ای جاوا

جلسه هشتم | دستورات شرطی

جلسه نهم | اشیا و کلاس ها

جلسه دهم | ورودی گرفتن

جلسه یازدهم | حلقه‌های کنترلی

جلسه دوازدهم | کلمه کلیدی static

جلسه سیزدهم | کلاس Math

جلسه چهاردهم | کلاس String

جلسه پانزدهم | آرایه‌های یک بعدی

جلسه شانزدهم | کنترل سطح دسرسی (Modifiers)

جلسه هفدهم | متدها در جاوا

جلسه هجدهم | کلمه کلیدی this

جلسه نوزدهم | کلاس‌های داخلی

جلسه بیستم | ارث بری در جاوا

جلسه بیست و یکم | کلمه کلیدی final

جلسه بیست و دوم | Overriding در جاوا

جلسه بیست و سوم | Polymorphism( چند ریختی)

جلسه بیست و چهارم | چندریختی را بهتر یادبگیرید

جلسه بیست و پنجم | Abstraction( انتزاع)

جلسه بیست و ششم | Encapsulation(کپسوله سازی)

جلسه بیست و هفتم | اینترفیس (Interface)

جلسه بیست و هشتم | کلاس Random

جلسه بیست و نهم | Exceptions (استثناها)

جلسه سی ام | کار با فایل در جاوا(Files and I/O)

جلسه سی و یکم | کلاس InputStreamReader

جلسه سی و دوم | کلاس OutputStreamWriter

جلسه سی و سوم | کلاس BufferedReader

جلسه سی و چهارم | کلاس BufferedWriter

جلسه سی و پنجم | Serialization در جاوا

جلسه سی و ششم | چندنخی(Multithreading)

جلسه سی و هفتم | آرایه دو بعدی در جاوا

جلسه سی و هشتم | کلاس ArrayList در جاوا

جلسه سی و نهم | Non Access Modifier در جاوا

 

دوره رایگان مقدماتی زبان جاوا

 

✔ راه های زیادی برای خواندن داده ها از فایل وجود دارد که در جلسات گذشته بخشی از آنها را بررسی کردیم.در این جلسه قصد داریم ساده ترین راه خواندن اطلاعات را از فایل بررسی کنیم.

 

✔ راحت ترین و متداول ترین راه خوانده داده ها از یک فایل استفاده از کلاس BufferedReader است.

 

✔ کلاس BufferedReader بسیار کارآمد برای خواندن کاراکترها،آرایه ها و سطر های درون یک فایل است.

 

BufferedReader
برای استفاده از این کلاس در برناممون باید پکیج java.io.BufferedReader را import کنیم.

 

import java.io.BufferedReader;
 

✔ یکی از متداول ترین سازنده های این کلاس که باهاش کار داریم بصورت زیر است:

 

BufferedReader(Reader in)

 

✔ این سازنده هنگام شی سازی از این کلاس بعد از کلمه کلیدی new صدا زده می‌شود:

 

BufferedReader b = new BufferedReader(Reader in)
 

✔ پارامتر این سازنده که در اینجا نامش in هستش از نوع کلاس Reader تعریف شده است.


خب اولین سوال که برامون پیش میاد کلاس Reader چیه؟!!


کلاس Reader یک کلاس از نوع انتزاعی (abstract) هستش که پدر برخی از کلاس هایی است که در زمینه خواندن فایل در جاوا استفاده می‌کنیم!!

سلسه مراتب کلاس Reader را در زیر مشاهده می‌کنید: (تصویر 1)

 


آموزش کار با فایل در جاوا

 

تمام اشیا ایجاد شده از کلاس هایی که فرزند (زیر کلاس) کلاس Reader در سلسله مراتب بالا هستند، می‌توانند به عنوان پارامتر بجای Reader in در سازنده کلاس BufferedReader قرار بگیرند.

مثال:

 

FileReader fr=new FileReader("test.txt");
BufferedReader b = new   BufferedReader(fr);

 

✔ همون طور که می‌بینید ما بجای پارامتر موجود در سازنده کلاس BufferedReader یک شی از نوع FileReader قرار داده ایم که فرزند کلاس Reader است.

 

✔ خب این چه کاری هست!! چرا از خود کلاس Reader شی نمی‌سازیم؟!!! پاسخ: دلیل این که از کلاس Reader استفاده نمی‌کنیم این است که کلاس Reader انتزاعی و Abstract هستش و از کلاس Abstract نمی‌توان شی ساخت!!!


نتیجه گیری کلی : ما به جای پارامتر موجود در سازنده کلاس BufferedReader می‌توانیم از اشیای تمام کلاس هایی که فرزند کلاس Reader هستش استفاده کنیم.

 بررسی متدهای کلاس BufferedReader : 

void close

✔ این متد برای بستن فایلی است که با استفاده از کلاس BufferedReader آن را خوانده ایم.به یاد داشته باشید بعد از این که کارمون با فایل خوانده شده تمام شد با این متد آن را ببندیم.
int read()

✔ یک متد نام آشنا!!! این متد بصورت کاراکتر به کاراکتر فایل ما رو میخواند. کاراکترهای خوانده شده را بصورت معادل عددی هر کاراکتر از نوع عدد صحیح بر می‌گرداند.مثلا اگر در فایل ما حرف a بود معادل عددی این حرف یعنی عدد 97 را برمی گرداند.

خب تا اینجا متدهای این کلاس فرقی با سایر کلاس هایی که در زمینه خواندن فایل در جاوا بود نداشت!!!!!!!!!!!!!! صبر کنید متد زیر رو ببینید!!!!

 

String readLine()


✔ این متد یک سطر از متن درون فایل ما را می‌خواند.

 

✔ پرکاربرد ترین متد برای خواندن داده های درون یک فایل است.

 

متد readLine کار ما را برای خواندن داده های درون فایل ساده کرده است. چون مقداری که برمیگرداند یک سطر از متن درون فایل بصورت رشته است و دیگه نیاز نیست کاراکتر به کاراکتر فایلمون رو بخوانیم. در مثال کاربرد این متد را بررسی می‌کنیم.

 

✔ فرض کنید در کامپیوتر،پوشه پروژمون فایلی با نام و فرمت name.txt داریم که متن درون آن بصورت تصویر(2) است:

آموزش کار با فایل در جاوا

متن فایل در تصویر(2) را مشاهده کنید، محتوای درون این فایل یک متن هفت سطری است،ما قصد داریم با استفاده از کلاس BufferedReader اطلاعات درون این فایل را بخوانیم:

 

package www.javapro.ir;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;

import fileIO.fileStreamTest;
public class BufferedReaderDemo {
    public static void main(String[] args) throws Exception {

          try {
              // open input stream name.txt for reading purpose.
         
              FileReader in = new FileReader("name.txt");
              BufferedReader br = new BufferedReader(in);

              System.out. print ln(br.readLine());
Br.close();

          } catch (Exception e) {
              e. print StackTrace();
          }
    }

}

 

خروجی:

 

Ali Reza hasan jafar

 

✔ با وجودی که فایل ما از 7 سطر تشکیل شده بود تنها یک سطر از فایل ما خوانده شده و در محیط کنسول چاپ شده است!!!! دلیلش اینه که با هر بارصدا زدن متد readLine تنها یک سطر از فایل خوانده می‌شود و ما در مثال بالا فقط یکبار این متد را صدا زده ایم و در نتیجه تنها یک سطر از فایل ما خوانده شده است.


برای خواندن تمامی سطرهای فایلمون بصورت زیر عمل می‌کنیم

 

 

package www.javapro.ir;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;

import fileIO.fileStreamTest;

publicclass BufferedReaderDemo {
    publicstaticvoid main(String[] args) throws Exception {

          try {
              // open input stream name.txt for reading purpose.
              String thisLine = new String();

              FileReader in = new FileReader("name.txt");
              BufferedReader br = new BufferedReader(in);


              while ((thisLine = br.readLine()) != null) {

                    System.out. print ln(thisLine);
              }
Br.close();

          } catch (Exception e) {
              e. print StackTrace();
          }
    }
}

 

خروجی:

 

Ali Reza hasan jafar
mohammad
@javalike
www.javapro.ir
Rahman zarei
9510126047
Rahman.zarie92@gmail.com

 

✔ در این برنامه با قرار دادن یک حلقه سطر به سطر اطلاعات درون فایلمون رو خوندیم.
 
String thisLine = new String();

✔ تعریف یک متغیر از نوع String، هر سطر از فایل بعد از خوانده شدن در این متغیر ریخته می‌شود.

 

FileReader in = new FileReader("name.txt");
BufferedReader br = new BufferedReader(in);

✔ برای خواندن فایل از کلاس BufferedReader استفاده شده است. همان طور که گفتیم پارامتر سازنده این کلاس باید از نوع یکی از کلاس های فرزند Reader باشد که ما در اینجا کلاس FileReader را انتخاب کردیم و آدرس محل فایل در کامپیوترمون رو بهش داده ایم.

 

وقتی آدرس محل فایل بصورت یک اسم همراه با یک فرمت مثل آدرس زیر باشد یعنی محل فایل ما درون پوشه پروژه سورس کد ما است:
 
"name.txt"

 

 

    while ((thisLine = br.readLine()) != null) {
 
                    System.out. print ln(thisLine);
              }
✔ این حلقه سطر به سطر متن درون فایل ما را می‌خواند، خب الگوریتم و روش کارش چطوره؟!
 
پاسخ :
می دونید که با هر بار صدا زدن متد readLine یک سطر از متن درون فایل خوانده می‌شود.
ما از یک حلقه برای تعداد تکرار صدا زدن این متد استفاده کردیم به این صورت که تا هنگامی که متد readLine به یک سطر  null نرسیده کار خواندن سطر به سطر فایل را ادامه دهد و این متد یعنی readLine هربار که یک سطر از متن درون فایل را می‌خواند درون متغیر thisLine می‌ریزد و بعدش در بدنه حلقه دستور چاپ مقدار متغیر thisLine را داریم که مقدار هر سطر بعد از خوانده شدن چاپ می‌شود.
 

✔ بلوک try-catch نیز برای کنترل استثناهای احتمالی در زمینه کار با فایل است.

 

این مبحث از کار با فایل نیز تمام شد، لازمه یادگیری کار با فایل دیدن مثال های گوناگون و فراوان است. که دارم سعی میکنم مثال هایی در همه زمینه مباحث جاوا را به امید خدا طراحی کنم و روی سایت قرار دهم.

 

موفق و پیروز باشی😊❤✔🌼🌺🍀🌸


 

این جلسه آموزشی را می‌توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)

آموزش آسان و ساده زبان برنامه نویسی جاوا
لینک دانلود

 

 


نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
 بخشی از کتاب جلسه سی و سوم- کلاس BufferedReader را مشاهده می‌کنید برای دانلود بر روی لینک دانلود کلیک کنید
بخشی از کتاب جلسه سی و سوم- کلاس BufferedReader را مشاهده می‌کنید
  بخشی از کتاب جلسه سی و سوم- کلاس BufferedReader را مشاهده می‌کنید برای دانلود بر روی لینک دانلود کلیک کنید
بخشی از کتاب جلسه سی و سوم- کلاس BufferedReader را مشاهده می‌کنید
  بخشی از کتاب جلسه سی و سوم- کلاس BufferedReader را مشاهده می‌کنید برای دانلود بر روی لینک دانلود کلیک کنید
بخشی از کتاب جلسه سی و سوم- کلاس BufferedReader را مشاهده می‌کنید
  بخشی از کتاب جلسه سی و سوم- کلاس BufferedReader را مشاهده می‌کنید برای دانلود بر روی لینک دانلود کلیک کنید
بخشی از کتاب جلسه سی و سوم- کلاس BufferedReader را مشاهده می‌کنید
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
هدر سایت
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی