前言
本文講述如何建立檔案檔案,並向文字檔中追加資訊
實現
假如你的web form中有一個名為txtRead的多行文字框、兩個名稱分別為btnReadFile、btnWriteFile的按鈕。
給兩個按鈕分別添加事件btnReadFile_Click、btnWriteFile_Click;然後給每個時件分別添加代碼:
private void btnReadFile_Click(object sender, System.EventArgs e)
{
if (File.Exists(AppDomain.CurrentDomain.BaseDirectory+FILE_NAME))
{
StreamReader sr=File.OpenText(AppDomain.CurrentDomain.BaseDirectory+FILE_NAME);
txtRead.Text=sr.ReadToEnd();
sr.Close();
}
else
{
Response.Write ("<script alnguage='javascript'>alert('你開啟的檔案不存在,請先建立該檔案!');</script>");
}
}
private void btnWriteFile_Click(object sender, System.EventArgs e)
{
StreamWriter sw = File.AppendText(AppDomain.CurrentDomain.BaseDirectory+FILE_NAME);
if (File.Exists(FILE_NAME))
{
sw.WriteLine(txtRead.Text);
sw.Close();
}
else
{
StreamWriter sr = File.CreateText(FILE_NAME);
sw.WriteLine(txtRead.Text);
sr.Close();
sw.Close();
}
}
完整代碼
在對檔案進行操作時,需要引入名稱空間System.IO.
using System;
using System.Web;
using System.IO;
namespace TextOp
{
/// <summary>
/// WebForm2 的摘要說明。
/// </summary>
public class OpText : System.Web.UI.Page
{
private const string FILE_NAME = "MyFile.txt";
protected System.Web.UI.WebControls.Button btnReadFile;
protected System.Web.UI.WebControls.Button btnWriteFile;
protected System.Web.UI.WebControls.TextBox txtRead;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置使用者代碼以初始化頁面
if(!Page.IsPostBack)
{}
}
#region Web Form設計器產生的程式碼
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 該調用是 ASP.NET Web Form設計器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 設計器支援所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內容。
/// </summary>
private void InitializeComponent()
{
this.btnReadFile.Click += new System.EventHandler(this.btnReadFile_Click);
this.btnWriteFile.Click += new System.EventHandler(this.btnWriteFile_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
// 讀取指定的文字檔
private void btnReadFile_Click(object sender, System.EventArgs e)
{
if (File.Exists(AppDomain.CurrentDomain.BaseDirectory+FILE_NAME))
{
StreamReader sr=File.OpenText(AppDomain.CurrentDomain.BaseDirectory+FILE_NAME);
txtRead.Text=sr.ReadToEnd();
sr.Close();
}
else
{
Response.Write ("<script alnguage='javascript'>alert('你開啟的檔案不存在,請先建立該檔案!');</script>");
}
}
// 向指定的文字檔中追加資訊
private void btnWriteFile_Click(object sender, System.EventArgs e)
{
StreamWriter sw = File.AppendText(AppDomain.CurrentDomain.BaseDirectory+FILE_NAME);
if (File.Exists(FILE_NAME))
{
sw.WriteLine(txtRead.Text);
sw.Close();
}
else
{
StreamWriter sr = File.CreateText(FILE_NAME);
sw.WriteLine(txtRead.Text);
sr.Close();
sw.Close();
}
}
}
}
備忘
有關使用此方法的樣本,請參閱下面的“樣本”部分。下表列出了其他典型或相關的 I/O 任務的樣本。
建立文字檔 向檔案寫入文本
寫入文字檔 向檔案寫入文本
讀取文字檔 從檔案讀取文本
向檔案中追加文本 開啟並附加到記錄檔\File.AppendText\FileInfo.AppendText
重新命名或移動檔案 File.Move\FileInfo.MoveTo
複製檔案 File.Copy\FileInfo.CopyTo
擷取檔案大小 FileInfo.Length
擷取檔案屬性 File.GetAttributes
設定檔案屬性 File.SetAttributes
確定檔案是否存在 File.Exists
讀取二進位檔案 對剛建立的資料檔案進行讀取和寫入
寫入二進位檔案 對剛建立的資料檔案進行讀取和寫入
建立目錄 CreateDirectory\Directory