oruji.github.io
oruji.github.ioPersian Tutorials
ویرایش: 1396/11/13 19:06
A A

نوشتن در فایل در جاوا - BufferedWriter

برای نوشتن محتوی در یک فایل در زبان برنامه نویسی جاوا می توان از java.io.BufferedWriter استفاده کرد.

نکته

BufferedWriter یک کلاس کاراکتر stream جهت کنترل داده های کاراکتر می باشد. بر خلاف بایت stream که داده ها را به بایت تبدیل می کند، با استفاده از این کلاس شما می توانید رشته ها، آرایه ها و داده های کاراکتری را به صورت مستقیم درون یک فایل بنویسید.

BufferedWriter سنتی

در مثال زیر نحوه نوشتن محتوا در یک فایل می باشد، با این توضیح که اگر فایل وجود نداشته باشد آن را ایجاد می کند، و محتویات موجود در فایل مورد نظر بازنویسی خواهد شد.

package org.amoozesh; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class WriteToFileExample1 { private static final String FILENAME = "E:\\test\\filename.txt"; public static void main(String[] args) { BufferedWriter bw = null; FileWriter fw = null; try { String content = "This is the content to write into file\n"; fw = new FileWriter(FILENAME); bw = new BufferedWriter(fw); bw.write(content); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); } finally { try { if (bw != null) bw.close(); if (fw != null) fw.close(); } catch (IOException ex) { ex.printStackTrace(); } } } }

خروجی: یک فایل جدید با محتویات زیر و آدرس E:\\test\\filename.txt ایجاد می شود:

This is the content to write into file

مثال برای JDK7

مثال try-with-resources برای بستن file writer به صورت خودکار.

package org.amoozesh; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class WriteToFileExample2 { private static final String FILENAME = "E:\\test\\filename.txt"; public static void main(String[] args) { try (BufferedWriter bw = new BufferedWriter(new FileWriter(FILENAME))) { String content = "This is the content to write into file\n"; bw.write(content); // no need to close it. //bw.close(); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); } } }

افزودن (Append) در BufferedWriter

برای افزودن محتوی به انتهای یک فایل، یک پارامتر true به FileWriter ارسال می کنیم:

// append to end of file FileWriter fw = new FileWriter(FILENAME, true); BufferedWriter bw = new BufferedWriter(fw);

منابع

  1. The try-with-resources Statement