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 = "文件复制失败!";
   }
  }
 }
}

posted on 2006-11-04 22:03  西湖浪子  阅读(261)  评论(0编辑  收藏  举报