ASP.NET 文件操作例子
//文件内容读取
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
namespace AspFileOp
{
/// <summary>
/// FileStreamCreateText 的摘要说明。
/// </summary>
public class FileStreamCreateText : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label lblFile;
private void Page_Load(object sender, System.EventArgs e)
{
FileStream fs = new FileStream(Server.MapPath(".")+"\\FileStreamCreateText.txt",FileMode.Create,FileAccess.Write);
//建立StreamWriter为写做准备
StreamWriter rw = new StreamWriter(fs,Encoding.Default);
//使用WriteLine写入内容
rw.WriteLine("曾经有一份真挚的爱情放在我的面前。");
rw.WriteLine("而我没有珍惜,当我失去的时候,我才追悔莫及。");
rw.WriteLine("人世间最大的痛苦莫过于此,如果上天给我一个再来一次的机会。");
rw.WriteLine("我会对那个女孩说三个字:\"我爱你。\"");
rw.WriteLine("如果非要在这份爱上加一个期限的话,我希望是一万年。");
//将缓冲区的内容写入文件
rw.Flush();
//关闭rw对象
rw.Close();
fs.Close();
fs = new FileStream(Server.MapPath(".")+"\\FileStreamCreateText.txt",FileMode.Open,FileAccess.Read);
//打开文本文件
StreamReader sr = new StreamReader(fs,Encoding.Default);
StringBuilder output = new StringBuilder();
string rl;
while((rl=sr.ReadLine())!=null)
{
output.Append(rl+"<br>");
}
lblFile.Text = output.ToString();
sr.Close();
fs.Close();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
///文件合并
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
namespace AspFileOp
{
/// <summary>
/// SBinaryCopy 的摘要说明。
/// </summary>
public class SBinaryCopy : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.Button btnCopy;
protected System.Web.UI.HtmlControls.HtmlInputFile FileSelect;
protected System.Web.UI.WebControls.TextBox tbDes;
protected System.Web.UI.WebControls.Label lbInfo;
protected System.Web.UI.WebControls.Label Label1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.btnCopy.Click += new System.EventHandler(this.btnCopy_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnCopy_Click(object sender, System.EventArgs e)
{
string OriginFile = FileSelect.PostedFile.FileName;
string NewFile = tbDes.Text +"\\"+Path.GetFileName(OriginFile);
//下面开始操作
//建立两个FileStream对象
FileStream fsOF = new FileStream(OriginFile,FileMode.Open,FileAccess.Read);
FileStream fsNF = new FileStream(NewFile,FileMode.Create,FileAccess.Write);
//建立分别建立一个读写类
BinaryReader br = new BinaryReader(fsOF);
BinaryWriter bw = new BinaryWriter(fsNF);
//将读取文件流指针指向流的头部
br.BaseStream.Seek(0,SeekOrigin.Begin);
//将写入文件流指针指向流的尾部
bw.BaseStream.Seek(0,SeekOrigin.End);
while(br.BaseStream.Position < br.BaseStream.Length)
{
//从br流中读取一个Byte并马上写入bw流
bw.Write(br.ReadByte());
}
br.Close();
bw.Close();
//操作后判断源文件是否存在
if(File.Exists(NewFile))
{
lbInfo.Text = "附件复制成功!";
}
else
{
lbInfo.Text = "文件复制失败!";
}
}
}
}