ASP.NET如何操作文本文件
前言
本文讲述如何创建文件文件,并向文本文件中追加信息
实现
假如你的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
{
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