C# Write File

27 ตุลาคม 2555

     เว้นวรรคมานานก็แวะมาเพิ่มบทความหน่อยครับ(หายไปไหนมาไม่ขอบอกนะครับ) บทความวันนี้เป็นการ ใช้ภาษา C# ในการเขียนไฟล์ โดยใช้ Class File กันครับ ไปชมกันครับ
Namespace
using System.Windows.Forms;
using System.IO;

Source Code C# WriteAllLines

/// 
/// เขียนแบบเป็นบันทัดๆ ลง File
/// 
public void WriteAllLines()
{
    //Path File ที่ต้องการเขียน
    string pathFileName = Application.StartupPath + @"\WriteAllLines.txt";

    //ตัวแปร String Array ที่ต้องการเขียน
    string[] ArrayText = new string[3];
    ArrayText[0] = "Line 1";
    ArrayText[1] = "Line 2";
    ArrayText[2] = "Line 3";

    //เขียนไฟล์
    //Encoding.Default ไม่ต้องใส่ก็ได้ครับ มันจะเป็นการ Encode ของ
    File.WriteAllLines(pathFileName, ArrayText, Encoding.Default);
}

Source Code C# WriteAllText
/// 
/// เขียนข้อความที่ต้องการลง File
/// 
public void WriteAllText()
{
    //Path File ที่ต้องการเขียน
    string pathFileName = Application.StartupPath + @"\WriteAllText.txt";

    //ตัวแปร String Text ที่้ต้องการเขียน
    string Text = "Test Write File";

    //เขียนไฟล์
    File.WriteAllText(pathFileName, Text, Encoding.Default);
}

Source Code C# WriteAllBytes
/// 
/// เขียน Byte เป็นข้อความลง File
/// 
public void WriteAllBytes()
{
    //Path File ที่ต้องการเขียน
    string pathFileName = Application.StartupPath + @"\WriteAllBytes.txt";

    //ตัวแปร String Array
    byte[] ByteArray = new byte[3];
    ByteArray[0] = 0;
    ByteArray[0] = 1;
    ByteArray[0] = 2;

    //เขียนไฟล์
    File.WriteAllBytes(pathFileName, ByteArray);
}


Source Code C# AppendAllText
/// 
/// เขียนข้อความต่อจากข้อความเดิมใน File
/// 
public void AppendAllText()
{
    //Path File ที่ต้องการเขียน
    string pathFileName = Application.StartupPath + @"\AppendAllText.txt";

    //ตัวแปร String Text ที่้ต้องการเขียน
    string Text1 = "Test Write File";

    //เขียนไฟล์
    File.AppendAllText(pathFileName, Text1, Encoding.Default);
}

Source Code C# AppendAllText (Again)
/// 
/// เขียนข้อความต่อจากข้อความเดิมใน File
/// 
public void AppendAllText()
{
    //Path File ที่ต้องการเขียน
    string pathFileName = Application.StartupPath + @"\AppendAllText.txt";

    //ตัวแปร String Text ที่้ต้องการเขียน
    string Text1 = "Test Write File 1" + "\r\n";
    string Text2 = "Test Write File 2" + "\r\n";

    //เขียนไฟล์ Text1
    File.AppendAllText(pathFileName, Text1, Encoding.Default);

    //เขียนไฟล์ Text2 ต่อลงไปใน File เดียวกัน
    File.AppendAllText(pathFileName, Text2, Encoding.Default);
}

Recommend
     -Encoding Overload นี้ไม่ต้องใส่ก็ได้ครับ
     -Encoding Type มีหลายแบบครับ เช่น Encoding.ASCII, Encoding.UTF8, Encoding.Unicode, Encoding.Default เป็นต้น
     -Encoding.Default ใส่ตัวนี้มีค่าเท่ากับไม่ได้ใส่ครับ เพราะ จะดึง Encoding ที่ตังใว้ใน OS มาใช้ครับ
     -การใช้ Class File ในการเขียนไฟล์ไม่จำเป็นต้องสร้างไฟล์ที่ต้องการเขียนก่อนเพราะ Function ที่ใช้จำทำการสร้างไฟล์ให้ครับ

Remark
     -การอ่านเขียนไฟล์ เราอาจมีปัญหาในการอ่าน เขียที่พบบ่อย คือ สิทธิในการอ่านเขียนไฟล์ใน Directory ของ User นั้นๆ ครับ แก้โดยการให้สิทธิในการอ่านเขียนไฟล์ใน Directory กับ User นั้น หรือ ก็เพิ่มสิทธิให้ User นั้นๆให้สูงหน่อยครับ (Read, Write, Modify) และ อีกปัญหาคือ การ Access File (การเข้าถึง) เช่น จำทำการเขียนไฟล์ในขณะที่ไฟล์นั้นเปิดอยู่ครับ


ผิดพลาดประการใดก็ติชมแก้ไขกันนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

About This Blog

เนื้อหาเกี่ยวกับการพัฒนา Program โดยใช้ .Net, C#, VB.

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP