การเขียนไฟล์ด้วย FileOutputStream

ใน Java นั้น ตัว FileOutputStream เป็น bytes stream ซึ่งหมายความว่าจะต้องส่งข้อมูลแบบ binary เพื่อที่จะใช้ในการเขียนข้อมูลลงไฟล์ ฉะนั้นหากเราจะเขียนข้อมูลอะไรลงไฟล์ เราต้องแปลงข้อมูลที่เรามีอยู่เป็น bytes ก่อนแล้วค่อยบันทึกลงไฟล์ ดังตัวอย่างต่อไปนี้.

package demo.file;


import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteFileExample {

    /**
     * @param args
     */
    public static void main(String[] args) {
        FileOutputStream fop = null;
        File file;
        String content = "This is the text content";
 
        try {
 
            file = new File("C:\\users\\nopphanan7\\newfile.txt");
            fop = new FileOutputStream(file);
 
            // if file doesnt exists, then create it
            if (!file.exists()) {
                file.createNewFile();
            }
 
            // get the content in bytes
            byte[] contentInBytes = content.getBytes();
 
            fop.write(contentInBytes);
            fop.flush();
            fop.close();
 
            System.out.println("Done");
 
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fop != null) {
                    fop.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

}
ผลลัพธ์ที่ได้คือ(ให้ไปดูที่ C:\\users\\....\\newfile.txt):
Done

ตัวอย่างเพิ่มเติมใน JDK 7 ใช้ try-with-resources เพื่อการ เปิด-ปิด อัตโนมัติ.

package demo.file;


import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteFileExample {

    /**
     * @param args
     */
    public static void main(String[] args) {
        File file = new File("C:\\users\\nopphanan7\\newfile.txt");
        String content = "This is the text content";
 
        try (FileOutputStream fop = new FileOutputStream(file)) {
 
            // if file doesn't exists, then create it
            if (!file.exists()) {
                file.createNewFile();
            }
 
            // get the content in bytes
            byte[] contentInBytes = content.getBytes();
 
            fop.write(contentInBytes);
            fop.flush();
            fop.close();
 
            System.out.println("Done");
 
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

ผลลัพธ์ที่ได้คือ(ให้ไปดูที่ C:\\users\\....\\newfile.txt)
Done

About Nop

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment

0 comments:

Post a Comment