日期:2011-07-08 浏览次数:20333 次
前言
本文讲述如何创建文件文件,并向文本文件中追加信息
实现
假如你的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 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
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