[java]เขียนภาษาไทยลง Text File

สืบเนื่องจากหัวข้อก่อนหน้านี้ [อ่านข้อมูลภาษาไทยจาก Text File] พอจะเขียนข้อมูลลง Text file ก็ไม่ถูกต้องอีก ประยุกต์ข้อมูลในการ Encode จากตัวอย่างก่อนหน้านี้ เขียนเป็น

/**
 * File Name : WriteUTF8Data.java
 * Created Date : Jul 27, 2010 : 13:11:19 PM
 */
package com.fun4station.example;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;

public class WriteUTF8Data {
	private static final String FILE_ENCODE = "UTF-8";
	
	public static void main(String[] args) {
		String file = "D:/data/thai.txt";
		String data = "";
		try {
			Writer out = new BufferedWriter(
					new OutputStreamWriter(new FileOutputStream(file), FILE_ENCODE));
			out.write(data);
			out.close();
			out = null;
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

แล้วก้แก้ปัญหาได้อีกครั้ง จบงานไปอีกหนึ่ง

  1. โอ้ พลัดหลงมาเจอโดยบังเอิญ บล็อกนี้ดีจริงครับ เขียนเคสแยกเป็นหมวดหมู่ เอาไปใช้เลยด้วย ^_^

    เห็นมีเรื่อง I/O บ่อยๆ เขียน/อ่าน/ลบ ข้อมูลแบบนี้ อยากมาแชร์บ้างครับ
    เคยลองใช้ apache common io มีท่าง่ายน่าใช้เยอะเลยครับ ผมใช้แล้วติดใจมาก 🙂
    เฉพาะเรื่อง FileUtils อย่างเดียวก็เช่น มี method อย่าง
    FileUtils.writeStringToFile(File file, String data, String encoding)
    FileUtils.readFileToString(File file)
    อะไรพวกนี้ ซึ้งข้างในมันก็เขียนเหมือนที่เราเขียนแบบนี้แหละครับ
    ถ้าเข้าใจแล้วเราก็เลือกทางสบาย โค้ดสวย อ่านง่ายขึ้นอีกเยอะเลย

    ยังมีอีกเพียบเลยครับ โปรเจ็ค commons มี lib ที่น่าสนใจอีกหลายตัว
    แถมได้ศึกษาโค้ดรูปแบบดีๆ เป็นตัวอย่างด้วยครับ
    http://commons.apache.org/io/description.html

    ยินดีที่ได้รู้จักและแลกเปลี่ยนกันครับ 🙂

  2. ขอบคุณมากครับ คุณ Rerng®IT สำหรับคำแนะนำ และยินดีที่ได้รู้จักครับ ผมเองก็ใช้บ่อยๆครับของ Apache Common ของเค้าดีจริงๆ แต่ส่วนมากที่เอามาเขียนบางครั้งเป็นงาน ที่เจ้านายคุณท่าน ไม่อยากให้ไปใช้ Lib ที่อื่นๆน่ะครับ (ผมเองก็ไม่เข้าใจนายท่านเลย ) และก็อยากให้คนอ่านได้เห็น Code ต้นแบบ โดยไม่ผ่าน Wrapper Util ด้วยครับ

    ป.ล มีคำแนะนำ อะไรดีๆ ก็แนะนำบอกกล่าวได้ครับ

  3. อ้าว ฮ่าๆ เอามะพร้าวห้าวมาขายสวนซะแล้ว 😀

    ถือว่าคุยกันเผื่อใครมาอ่านละกันเนอะ อย่างน้อย lib ดีๆ ฟรีๆ แบบ opensource
    ถึงไม่ได้ใช้ก็ยังได้ศึกษาโค้ดข้างในที่เค้าเขียนกันไว้ดีแล้ว (หลายหัวย่อมดีกว่าหัวเดียวอย่างเราๆ) :d

    add blog ไว้อ่านใน google reader ละครับ ^^

    • gg
    • January 17th, 2017

    right\” href=\”[[\u0025UNESCAPED]][[message_uri]]\” data-sigil=\”touchable m-send-message\”>\u003Cdiv class=\”touchoverflow\”>\u003C\/div>\u003Ci class=\”touched_hide messageIcon img sp_owAC3WqXL6E_3x sx_079487\”>\u003C\/i>\u003Ci class=\”messageIcon touched_show img sp_owAC3WqXL6E_3x sx_079487\”>\u003C\/i>\u003C\/a>”],”z3d+X2″:[“CallButtonTemplate”,”\u003Cdiv class=\”right\”>\u003Cdiv class=\”flyoutListWrap\” data-sigil=\”openable\”>\u003Cdiv class=\”flyoutList\”>\u003Cdiv class=\”flyoutIcon\” data-store=\”{"allowScroll":true}\” data-sigil=\”blocking-touchable\”>\u003Ci class=\”touched_hide img sp_X_8Ch7T9wqM_3x sx_00db67\”>\u003C\/i>\u003Ci class=\”touched_show img sp_X_8Ch7T9wqM_3x sx_bb6986\”>\u003C\/i>\u003C\/div>\u003Cdiv class=\”flyoutMenuWrap opened_show\”>\u003Cdiv class=\”leftShadow\”>\u003Ci class=\”img sp_X_8Ch7T9wqM_3x sx_ffeaca\”>\u003C\/i>\u003C\/div>\u003Cdiv class=\”shadow\”>\u003Ci class=\”img sp_X_8Ch7T9wqM_3x sx_ffeaca\”>\u003C\/i>\u003C\/div>\u003Ci class=\”flyoutArrow img sp_X_8Ch7T9wqM_3x sx_818898\”>\u003C\/i>\u003Cdiv class=\”flyoutMenu nowrap\”>\u003Ca class=\”btn btnI mfss touchable\” role=\”button\” style=\”[[\u0025UNESCAPED]][[call_style]]\” href=\”[[\u0025UNESCAPED]][[call_uri]]\” data-sigil=\”blocking-touchable\”>\u0e42\u0e17\u0e23\u003C\/a>\u003Ca class=\”btn btnI mfss touchable\” role=\”button\” style=\”[[\u0025UNESCAPED]][[sms_style]]\” href=\”[[\u0025UNESCAPED]][[sms_uri]]\” data-sigil=\”blocking-touchable\”>SMS\u003C\/a>\u003C\/div>\u003C\/div>\u003C\/div>\u003C\/div>\u003C\/div>”]}],[]],[“InitMSearchTypeahead”,”main”,[“MSideNavMarauderLogger”

  1. No trackbacks yet.