Kelp-Space 是記錄一些生活雜事的Blog
如有任何程式設計的問題歡迎到 飛特技術論壇 討論

2008-07-30

文字/二進制檔案讀寫 - System.IO

首先在using程式碼中加入: 複製程式碼(Copy to clipboard)
using System.IO;


文字檔讀取: 複製程式碼(Copy to clipboard)
StreamReader ReadFile = new StreamReader("D:\\test.txt");   //開啟"D:\test.txt"
string SReadData = "";
while (ReadFile.Peek() != -1)                               //讀到檔案結束為止
{
    SReadData = SReadData + "\r\n" + ReadFile.ReadLine();   //一次讀取一行
}
ReadFile.Close();                                           //關閉檔案


文字檔寫入: 複製程式碼(Copy to clipboard)
StreamWriter WriteFile = new StreamWriter("D:\\test.txt");  //開啟"D:\test.txt"
WriteFile.WriteLine("test");    //寫入文字
WriteFile.Flush();              //清除緩衝區
WriteFile.Close();              //關閉檔案


二進制檔讀取: 複製程式碼(Copy to clipboard)

byte[] BData;
FileStream BFile = new FileStream("D:\\test.txt", FileMode.Open); //開啟檔案串流
FileInfo FI = new FileInfo("D:\\test.txt"); //初始化FI物件 (為了得到檔案長度)
BData = new byte[FI.Length];                //初始化二進制陣列長度

BFile.Read(BData, 0, Convert.ToInt16(FI.Length));
//將二進制陣列寫入檔案中 第一個參數是二進制陣列 第二個代表資料起始位置 第三個是資料長度

BFile.Close();



二進制檔寫入: 複製程式碼(Copy to clipboard)

byte[] BData;   //宣告陣列
BData = Encoding.UTF8.GetBytes("Kelp-Space");   //將"Kelp-Space"寫入二進制陣列中
FileStream BFile = new FileStream("D:\\test.txt", FileMode.Create); //開啟"D:\test.txt"
BFile.Write(BData, 0, BData.GetUpperBound(0) + 1);
//將二進制陣列寫入檔案中 第一個參數是二進制陣列 第二個代表資料起始位置 第三個是資料長度

BFile.Flush();
BFile.Close();


FileMode.Open 開啟存在檔案
FileMode.Append 如果當案存在,開啟串流在檔尾,如果不存在則建立檔案
FileMode.Create 如果檔案存在,覆寫檔案,如果不存在則建立檔案
FileMode.OpenOrCreate 如果檔案存在,開啟檔案,如果不存在則建立檔案

沒有留言:

張貼留言