



لیست تمامی دوره های آموزش زبان برنامه نویسی جاوا[کــلیک کنید]
در این آموزش قصد داریم یکی از روش های ساده ایجاد فایل در جاوا و نوشتن داده ها و اطلاعات درون فایل در جاوا را بررسی کنیم.یکی راه های ساده و متداول ایجاد و نوشتن فایل در جاوا استفاده از کلاس BufferedWriter می باشد.با کلاس BufferedWriter می توان جریانی از داده های کاراکتری،رشته، آرایه و غیره را در فایل ذخیره کنیم.
✔ برای استفاده از کلاس BufferedWriter در برنامه خود نیاز به import کردن پکیج Java.io.BufferedWriter داریم:
import java.io.BufferedWriter; |
✔ یکی از متداول ترین سازنده کلاس BufferedWriter بصورت زیر است:
BufferedWriter(Writer out) |
✔ هنگام شی سازی از کلاس BufferedWriter بعد از کلمه کلیدی new این سازنده صدا زده می شود و پارامتر درون پرانتز آن مقدار دهی می کنیم.
BufferedWriter bw = new BufferedWriter(Writer out) |
✔ پارامتر سازنده کلاس BufferedWriter از نوع کلاس Writer می باشد.
✔ میدونم الان میخواید بگید که من تا حالا اسم کلاس Writer به گوشم نخورده!! :-)
کلاس Writer یک کلاس از نوع انتزاعی (abstract) هستش که پدر برخی از کلاس هایی است که در زمینه نوشتن داده ها در فایل کاربرد دارند.در تصویر (1) سلسله مراتب کلاس هایی که فرزند کلاس Writer هستند آورده شده است:
.png)
✔ تمام اشیایی که از نوع کلاس هایی که فرزند (زیرکلاس) کلاس Writer هستند و در سلسله مراتب تصویر(1) هم نمایش داده شده است ، می توانند جایگزین پارامتر Writer out در سازنده کلاس BufferedWriter شوند.
مثلا:
FileWriter fw = new FileWriter("newFile.txt"); |
✔ همان طور که در مثال بالا مشاهده می کنید یک شی از کلاس FileWriter که طبق سلسله مراتب تصویر(1) از فرزندان کلاس Writer هستش جایگزین پارامتر موجود در سازنده کلاس BufferedWriter شده است.
✔ خب حتما براتون سوال پیش اومده چرا مستقیم از کلاس Writer شی نمی سازیم و درون سازنده کلاس BufferedWriter قرار نمی دهیم؟!!!
از آنجایی که کلاس Writer انتزاعی (abstract) هستش نمی توان مستقیم از این کلاس شی ایجاد کرد، به همین دلیل از فرزندان کلاس Writer که به تمام ویژگی ها و رفتارهای کلاس Writer دسرسی دارند شی ساخته و درون سازنده کلاس BufferedWriter قرار می دهیم.
به زبان ساده : در کل ما هنگام شی سازی از کلاس BufferedWriter ، بعد از کلمه کلیدی new سازنده این کلاس را صدا می زنیم و به جای پارامتر سازنده این کلاس ، اشیای یکی از فرزندان کلاس Writer را قرار می دهیم.
✔ نکته: فرزندان کلاس Writer در تصویر(1) گردآوری شده اند.
| در دوره پیشرفته برنامه نویسی جاوا به صورت ویدئویی به موضوع فایل ها در جاواپرداخته ایم. |
بررسی متدهای کلاس BufferedReader :
void close() |
✔ بعد از این که فایلمون رو ایجاد کردیم و روش عملیات های مورد نظر رو انجام دادیم و دیگه کاری باهاش نداشتیم با این متد فایلمون رو می بندیم.
void write(String str) |
✔ این متد برای نوشتن و ذخیره کردن داده ها درون فایل استفاده می شود.
مثال:
package www.javapro.ir; import java.io.BufferedWriter; public class TestBufferedWriter { public static void main(String[] args) { } }
|
خروجی: در کنسول خروجی نداریم و خروجی این برنامه بصورت یک فایل با نام و فرمت data.txt می باشد. تصویر(2)
.png)
توضیحات:
BufferedWriter bw=new BufferedWriter(new FileWriter("data.txt")); |
✔ در این خط کد ، ما برای ایجاد فایل از کلاس BufferedWriter استفاده کرده ایم.
✔ ابتدا از کلاس BufferedWriter شی ایجاد کردیم.درون سازنده کلاس BufferedWriter یک شی از نوع کلاس FileWriter که یکی از فرزندان کلاس Writer هستش شی ساختیم.بعد درون سازنده کلاس FileWriter آدرس مکانی که قراره فایل در آن ایجاد شود قرار دادیم
به طور کلی بصورت زیر عمل کردیم:
1. ایجاد یک شی از نوع کلاس BufferedWriter
2. بعد از کلمه کلیدی new سازنده کلاس BufferedWriter را صدا زده ایم.
3. بعد بجای پارامتر سازنده کلاس BufferedWriter که از نوع کلاس Writer هستش یک شی از کلاس FileWriter که یکی از فرزندان کلاس Writer هستش ایجاد کرده ایم.
4. در پایان بجای پارامتر سازنده کلاس FileWriter ، آدرس محلی که فایل قراره در آنجا ایجاد شود قرار می دهیم.
bw.write("www.javapro.ir"); |
✔ در اینجا با استفاده از متد writer متن مورد نظر را درون فایل نوشتیم.
✔ و درپایان هم با متد close این فایل را می بندیم.
void write(char[] array, int start, int len) |
✔ اگر قصد داشتیم بخش های از داده های موجود در یک ارایه که از نوع کاراکتر هستند را در فایل بنویسیم از این متد استفاده می کنیم.
✔ پارامتر start نقطه شروع بازه ای از آرایه است که قراره در فایل ذخیره شود.
✔ پارامتر len تعداد کاراکترهایی است که از نقطه start به بعد قراره در فایل ذخیره شوند.
💡 طبق فرمول زیر محدوده ای از آرایه که قراره در فایل ذخیره شود بصورت زیر است:
[start,start+len-1] |
مثلا اگر یک آرایه از نوع کاراکتر بصورت زیر داشته باشیم:
.png)
و بصورت زیر این ارایه را در فایل ذخیره کنیم:
write(ch,2,5); |
بخشی از آرایه ch که در فایل ذخیره می شود بصورت زیر است:
valik |
در اینجا پارامترهای start=2 و len=5 می باشند:
پس بازه ای از آرایه که قراره در فایل ذخیره شود طبق فرمول [start,start+len-1] بصورت زیر می باشد:
[2,6] |
حالا تمام کاراکترهایی که در محدوده خانه 2 تا 6 آرایه قرار می گیرند در فایل ذخیره می شوند.
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| e | k | i | l | a | v | a | j |
✔ رنگ قرمز نقطه آغاز محدوده ما را نشان می دهد.
✔ رنگ سبزه محدوده ای از ارایه که قراره در فایل ذخیره شود را نشان می دهد.
✔ بجای فرمول می تونید len تا از پارامتر start را بشمارید!!! و به سمت راست آرایه حرکت کنید، از این طریق نیز محدوده سبز به دست می آید.فقط توجه داشته باشید این شمردن شامل ابتدای بازه یعنی پارامتر start نیز شود.
شمردن len تا از start به بعد را در زیر مشاهده می کنید:
| start=2; len=5; |
..........ادامه این جلسه آموزشی را به صورت پی دی اف و مرتب شده در لینک زیر دانلود کنید:

.png)
.png)
.png)
.png)
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 10 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی می باشد
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690
بستن دیگر باز نشو! |


![مشاهده جزییات و سرفصل های دوره Spring Batch [اینجا کلیک کنید]](https://dl.javapro.ir/spring_batch/springbatch_pop.png)


![مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو [کلیک کنید]](https://dl.javapro.ir/image/marketing/banerday1403springboot.png)
























.png)
-min.png)
-min.png)
-min.png)


-min.png)









-min.png)

.jpg)