خلاصه مطلب
در این جلسه به کلاس OutputStreamWriter که یکی از زیر شاخه های کار با فایل هستش می پردازیم این کلاس جهت ایجاد و نوشتن داده ها درون فایل استفاده می شود
فهرست جلسات دوره مقدماتی جاوا
مقدمه اول | جاوا چیست؟
مقدمه دوم | تاریخچه جاوا
مقدمه سوم | ویژگیهای زبان جاوا
جلسه اول | راهنمای دانلود و نصب 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 در جاوا

مفاهیم کار با فایل ابتدا از جلسه 30 آموزش جاوا جاوالایک شروع شده است، پس برای یادگیری این مفاهیم از جلسه 30 شروع کنید! همه جلسات با رعایت اصل پیشنیازی تهیه شده است. OutputStreamWriter
✔ کلاس OutputStreamWriter برای نوشتن داده ها درون فایل استفاده می شود.
✔ کلاس OutputStreamWriter پلی از جریان بایت ها به جریان کاراکتر هاست.
✔برای استفاده از کلاس OutputStreamWriter باید پکیج Java.io.OutputStreamWriter را در سورس کد برنامه مون import کنیم:
| import java.io.OutputStreamWriter; |
| OutputStreamWriter(OutputStream out) |
✔ پارامتر این سازنده شی ای از نوع کلاس OutputStream هستش و از طرفی چون کلاس FileOutputStream فرزند کلاس OutputStream هستش می توانیم از شی کلاس FileOutputStream نیز به عنوان پارامتر استفاده کنیم.
✔ پس هر بار که خواستیم از کلاس OutputStreamWriter استفاده کنیم حتما باید در کنار آن از کلاس OutputStream نیز شی ایجاد کنیم چون نیاز به پارامتری از نوع کلاس OutputStream داریم.
برخی از متدهای پرکاربرد کلاس OutputStreamWriter :
| void close() |
✔ بعد از اتمام کار با فایل از طریق این متد فایل مورد نظر را می بندیم.
| void write(int c) |
✔ این متد برای نوشتن کاراکتر به کاراکتر داده ها درون فایل کاربرد دارد. پارامتر این متد از نوع یک عدد صحیح می باشد این بدین معناست که ما باید معادل عددی کاراکتر را درون این متد قرار بدیم مثلا بجای کاراکتر a معادل آن یعنی عدد 97 را وارد این متد می کنیم.
مثال:
| package www.javapro.ir; import java.io.*; public class OutputStreamWriterDemo { public static void main(String[] args) { try { // create a new OutputStreamWriter OutputStream os = new FileOutputStream("test.txt"); OutputStreamWriter writer = new OutputStreamWriter(os); // write something in the file writer.write(70); writer.write(71); writer.write(72); writer.close(); // create a new FileInputStream to read what we write FileInputStream in = new FileInputStream("test.txt"); // read what we write for (int i = 0; i < 3; i++) { System.out. print ("" + (char) in.read()); } in.close(); } catch (Exception ex) { ex. print StackTrace(); } } } |
خروجی: خروجی این برنامه یک فایل "test.txt" در پوشه پروژه مون می باشد و همچنین داده های این فایل در کنسول نیز بصورت زیر نمایش داده می شود:
| FGH |
.png)
خروجی به صورت فایل "test.txt" را در تصویر (1) مشاهده می کنید:
| در دوره پیشرفته برنامه نویسی جاوا به صورت ویدئویی به موضوع فایل ها در جاواپرداخته ایم. |
توضیحات برنامه:
| OutputStream os = new FileOutputStream("test.txt"); |
✔ ایجاد شی از به روش چندریختی از کلاس OutputStream و استفاده از سازنده فرزند این کلاس یعنی OutputStream که بجای پارامتر سازنده آدرس مکانی که قرار است فایل در آن ایجاد شود قرار داده شده است.
| OutputStreamWriter writer = new OutputStreamWriter(os); |
✔ از کلاس OutputStreamWriter شی ساخته و شی ای از نوع کلاس OutputStream را به عنوان پارامتر سازنده آن داده ایم.
| writer.write(70); writer.write(71); writer.write(72); |
✔ با استفاده از متد write بایت های خود را درون فایل ذخیره می کنیم. در فایل معادل کاراکتر هر بایت ذخیره می شود مثلا معادل بایت 70 کاراکتر F در فایل ذخیره می شود.
| writer.close(); |
✔ در پایان کار فایل را می بندیم. در این خط کد حتما باید فایل بسته شود چون در خط های بعدی برنامه قصد داریم همین فایل به آدرس "test.txt" را خوانده و داده های آن را در خروجی کنسول چاپ کنیم
| FileInputStream in = new FileInputStream("test.txt"); |
✔ برای خواندن فایل از کلاس FileInputStream شی ساخته ایم و آدرس فایل “test.txt” به سازنده ان داده ایم.
| for (int i = 0; i < 3; i++) { System.out. print ("" + (char) in.read()); } |
✔ خواندن تک به تک کاراکترهای موجود در فایل
| in.close(); } catch (Exception ex) { ex.printStackTrace(); } |
***ادامه این جلسه آموزشی را به صورت کامل و مرتب شده در زیر دانلود کنید:

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

