前言
本文講述如何創建文件文件,并向文本文件中追加信息
實現
假如你的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
新聞熱點
疑難解答