一个人的天空

知识就像宇宙,你不知道它到底存在多少奥秘,必须不断的探索
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

关于File的一些例子

Posted on 2005-11-17 13:24  一个人的天空  阅读(951)  评论(0编辑  收藏  举报
关于文件的一些创建,删除,查看等操作
前台代码:

<%@ Page language="c#" Codebehind="FileTest.aspx.cs" AutoEventWireup="false"

Inherits="NetTest.FileTest" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>FileTest</title>
  <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
  <meta name="CODE_LANGUAGE" Content="C#">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <link href="Css/BasicLayout.css" rel="stylesheet" type="text/css">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <table class="GbText" align="center" border="1" width="80%" style="BORDER-COLLAPSE:

collapse"
    borderColor="#cccccc">
    <tr>
     <td height="25" colspan="4" align="center"><font style="FONT-WEIGHT: bold; FONT-SIZE:

11pt">关于File的一些例子</font></td>
    </tr>
    <tr>
     <td height="25" align="right">输入文件路径:</td>
     <td height="25" align="left" style="WIDTH: 179px">
      <asp:TextBox id="txtFilePath1" runat="server"></asp:TextBox></td>
     <td height="25" align="center">
      <asp:Label id="lbMessage1" runat="server"></asp:Label></td>
     <td height="25" align="center"><FONT face="宋体">
       <asp:Button id="btnTest" runat="server"

Text="检查文件是否存在"></asp:Button></FONT></td>
    </tr>
    <tr>
     <td height="25" align="right">输入文件路径:</td>
     <td height="25" align="left" style="WIDTH: 179px">
      <asp:TextBox id="txtFilePath2" runat="server"></asp:TextBox></td>
     <td height="25" align="center">
      <asp:Label id="lbMessage2" runat="server"></asp:Label></td>
     <td height="25" align="center"><FONT face="宋体">
       <asp:Button id="btnCreate" runat="server" Text="创建文件"></asp:Button></FONT></td>
    </tr>
    <tr>
     <td height="25" align="right">输入文件路径:<br>
      输入目的文件路径:</td>
     <td height="25" align="left" style="WIDTH: 179px">
      <P>
       <asp:TextBox id="txtFilePathM" runat="server"></asp:TextBox><br>
       <asp:TextBox id="txtFilePathT" runat="server"></asp:TextBox></P>
     </td>
     <td height="25" align="center">
      <asp:Label id="lbMessage3" runat="server"></asp:Label></td>
     <td height="25" align="center"><FONT face="宋体">
       <asp:Button id="btnCopy" runat="server" Text="拷贝文件"></asp:Button>
       <asp:Button id="btnMove" runat="server" Text="移动文件"></asp:Button></FONT></td>
    </tr>
    <tr>
     <td height="25" align="right">输入文件路径:</td>
     <td height="25" align="left" style="WIDTH: 179px">
      <asp:TextBox id="txtDeleteFile" runat="server"></asp:TextBox></td>
     <td height="25" align="center">
      <asp:Label id="lbMessage4" runat="server"></asp:Label></td>
     <td height="25" align="center"><FONT face="宋体">
       <asp:Button id="btnDelete" runat="server" Text="删除文件"></asp:Button></FONT></td>
    </tr>
    <tr>
     <td height="25" align="right">输入文件路径:</td>
     <td height="25" align="left" style="WIDTH: 179px">
      <asp:TextBox id="txtFileInfo" runat="server"></asp:TextBox></td>
     <td height="25" align="center">
      <asp:Label id="lbMessage5" runat="server"></asp:Label><br>
      <asp:Label id="lbDir" runat="server" Visible="False"></asp:Label><br>
      <asp:Label id="lbLength" runat="server" Visible="False"></asp:Label><br>
      <asp:Label id="lbTime" runat="server" Visible="False"></asp:Label><br>
      <asp:Label id="lbEdit" runat="server" Visible="False"></asp:Label><br>
      <asp:Label id="lbAtt" runat="server" Visible="False"></asp:Label></td>
     <td height="25" align="center"><FONT face="宋体">
       <asp:Button id="btnInfo" runat="server" Text="读取文件信息"></asp:Button></FONT></td>
    </tr>
    <tr>
     <td height="25" align="right">输入文件路径:</td>
     <td height="25" align="left" style="WIDTH: 179px">
      <asp:TextBox id="txtDirectory" runat="server"></asp:TextBox></td>
     <td height="25" align="center">
      <asp:Label id="lbMessage6" runat="server"></asp:Label></td>
     <td height="25" align="center"><FONT face="宋体">
       <asp:Button id="btnCreateDir" runat="server" Text="创建文件夹"></asp:Button></FONT></td>
    </tr>
    <tr>
     <td height="25" align="right">输入文件路径:</td>
     <td height="25" align="left" style="WIDTH: 179px">
      <asp:TextBox id="txtLookDir" runat="server"></asp:TextBox></td>
     <td height="25" align="center">
      <asp:Label id="lbMessage7" runat="server"></asp:Label>
      <asp:ListBox id="lstDir" runat="server" Visible="False" Height="80px"

Width="65px"></asp:ListBox></td>
     <td height="25" align="center"><FONT face="宋体">
       <asp:Button id="btnLook" runat="server" Text="查看文件列表"></asp:Button></FONT></td>
    </tr>
    <tr>
     <td height="25" align="right">输入文件路径:<br>
      输入内容:</td>
     <td height="25" align="left" style="WIDTH: 179px">
      <asp:TextBox id="txtFileWrite" runat="server"></asp:TextBox><br>
      <asp:TextBox id="txtWriteInfo" runat="server" Height="80px" Width="152px"

TextMode="MultiLine"></asp:TextBox></td>
     <td height="25" align="center">
      <asp:Label id="lbMessage8" runat="server"></asp:Label></td>
     <td height="25" align="center"><FONT face="宋体">
       <asp:Button id="btnWrite" runat="server" Text="文本文件写入"></asp:Button></FONT></td>
    </tr>
    <tr>
     <td height="25" align="right">输入文件路径:<br>
      输入内容:</td>
     <td height="25" align="left" style="WIDTH: 179px">
      <asp:TextBox id="txtReadFile" runat="server"></asp:TextBox><br>
      <asp:TextBox id="txtReadInfo" runat="server" Height="80px" Width="152px"

TextMode="MultiLine"
       Visible="False"></asp:TextBox></td>
     <td height="25" align="center">
      <asp:Label id="lbMessage9" runat="server"></asp:Label></td>
     <td height="25" align="center"><FONT face="宋体">
       <asp:Button id="btnRead" runat="server" Text="读取文本文件"></asp:Button></FONT></td>
    </tr>
   </table>
  </form>
 </body>
</HTML>

后台代码:

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 NetTest
{
 /// <summary>
 /// FileTest 的摘要说明。
 /// </summary>
 public class FileTest : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.TextBox txtFilePath1;
  protected System.Web.UI.WebControls.Label lbMessage1;
  protected System.Web.UI.WebControls.TextBox txtFilePath2;
  protected System.Web.UI.WebControls.Label lbMessage2;
  protected System.Web.UI.WebControls.Button btnCreate;
  protected System.Web.UI.WebControls.Label lbMessage3;
  protected System.Web.UI.WebControls.Button btnMove;
  protected System.Web.UI.WebControls.Button btnCopy;
  protected System.Web.UI.WebControls.TextBox txtFilePathM;
  protected System.Web.UI.WebControls.TextBox txtFilePathT;
  protected System.Web.UI.WebControls.TextBox txtDeleteFile;
  protected System.Web.UI.WebControls.Label lbMessage4;
  protected System.Web.UI.WebControls.Button btnDelete;
  protected System.Web.UI.WebControls.TextBox txtFileInfo;
  protected System.Web.UI.WebControls.Label lbMessage5;
  protected System.Web.UI.WebControls.Button btnInfo;
  protected System.Web.UI.WebControls.Label lbLength;
  protected System.Web.UI.WebControls.Label lbDir;
  protected System.Web.UI.WebControls.Label lbTime;
  protected System.Web.UI.WebControls.Label lbEdit;
  protected System.Web.UI.WebControls.Label lbAtt;
  protected System.Web.UI.WebControls.TextBox txtDirectory;
  protected System.Web.UI.WebControls.Label lbMessage6;
  protected System.Web.UI.WebControls.Button btnCreateDir;
  protected System.Web.UI.WebControls.TextBox txtLookDir;
  protected System.Web.UI.WebControls.Label lbMessage7;
  protected System.Web.UI.WebControls.Button btnLook;
  protected System.Web.UI.WebControls.ListBox lstDir;
  protected System.Web.UI.WebControls.TextBox txtFileWrite;
  protected System.Web.UI.WebControls.Label lbMessage8;
  protected System.Web.UI.WebControls.Button btnWrite;
  protected System.Web.UI.WebControls.TextBox txtWriteInfo;
  protected System.Web.UI.WebControls.TextBox txtReadFile;
  protected System.Web.UI.WebControls.TextBox txtReadInfo;
  protected System.Web.UI.WebControls.Label lbMessage9;
  protected System.Web.UI.WebControls.Button btnRead;
  protected System.Web.UI.WebControls.Button btnTest;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.btnTest.Click += new System.EventHandler(this.btnTest_Click);
   this.btnCreate.Click += new System.EventHandler(this.btnCreate_Click);
   this.btnCopy.Click += new System.EventHandler(this.btnCopy_Click);
   this.btnMove.Click += new System.EventHandler(this.btnMove_Click);
   this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
   this.btnInfo.Click += new System.EventHandler(this.btnInfo_Click);
   this.btnCreateDir.Click += new System.EventHandler(this.btnCreateDir_Click);
   this.btnLook.Click += new System.EventHandler(this.btnLook_Click);
   this.btnWrite.Click += new System.EventHandler(this.btnWrite_Click);
   this.btnRead.Click += new System.EventHandler(this.btnRead_Click);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void btnTest_Click(object sender, System.EventArgs e)
  {
   try
   {
    if(File.Exists(txtFilePath1.Text.Trim().ToString()))
    {
     lbMessage1.Text="该文件存在";
    }
    else
    {
     lbMessage1.Text="该文件不存在";
    }
   }
   catch(Exception ex)
   {
    lbMessage1.Text="处理失败!原因:"+ex.Message;
   }
  }

  private void btnCreate_Click(object sender, System.EventArgs e)
  {
   
   try
   {
    string strPath=txtFilePath2.Text.Trim().ToString();
    if(!Directory.Exists(strPath.Substring(0,strPath.LastIndexOf("\\"))))
    {
     //注意:如果你输入的路径没有\,会出现”长度不能小于 0。参数名: length”错误
     lbMessage2.Text="文件路径不存在";
     return;
    }
    else
    {
     //注意,如果上面不判断路径是否存在,文件将被创建到C:\Windows\system32文件夹中
     if(File.Exists(txtFilePath2.Text.Trim().ToString()))
     {
      lbMessage2.Text="该文件已经存在";
      return;
     }
     else
     {
      //File类的Create方法创建一个文件,该方法返回一个FileStream对象,用于对刚创建的文件进行读

写访问
      FileStream fs=File.Create(txtFilePath2.Text.Trim().ToString());
      Byte[] info={10,20,30};
      //通过FileStream对象往文件中写入一些内容
      fs.Write(info,0,info.Length);
      fs.Close();//关闭FileStream对象
      lbMessage2.Text="成功创建该文件";
     }
    }
   }
   catch(Exception ex)
   {
    lbMessage2.Text="创建文件失败!原因:"+ex.Message;
   }
  }

  private void btnCopy_Click(object sender, System.EventArgs e)
  {
   try
   {
    string strFileM=txtFilePathM.Text.Trim().ToString();
    string strFileT=txtFilePathT.Text.Trim().ToString();
    if(!File.Exists(strFileM))
    {
     lbMessage3.Text="源文件不存在";
     return;
    }
    if(!Directory.Exists(strFileT.Substring(0,strFileT.LastIndexOf("\\"))))
    {
     //注意:如果你输入的路径没有\,会出现”长度不能小于 0。参数名: length”错误
     lbMessage3.Text="目标文件路径不存在";
     return;
    }
    else
    {
     if(File.Exists(strFileT))
     {
      lbMessage3.Text="目标文件已经存在";
      return;
     }
     File.Copy(strFileM,strFileT);
     lbMessage3.Text="文件拷贝成功!目标文件为:"+strFileT.ToString();
    }
   }
   catch(Exception ex)
   {
    lbMessage3.Text="创建文件失败!原因:"+ex.Message;
   }
  }

  private void btnMove_Click(object sender, System.EventArgs e)
  {
   try
   {
    string strFileM=txtFilePathM.Text.Trim().ToString();
    string strFileT=txtFilePathT.Text.Trim().ToString();
    if(!File.Exists(strFileM))
    {
     lbMessage3.Text="源文件不存在";
     return;
    }
    if(!Directory.Exists(strFileT.Substring(0,strFileT.LastIndexOf("\\"))))
    {
     //注意:如果你输入的路径没有\,会出现”长度不能小于 0。参数名: length”错误
     lbMessage3.Text="目标文件路径不存在";
     return;
    }
    else
    {
     if(File.Exists(strFileT))
     {
      lbMessage3.Text="目标文件已经存在";
      return;
     }
     File.Move(strFileM,strFileT);
     lbMessage3.Text="移动文件成功,源文件已经被移除!目标文件为:"+strFileT.ToString();
    }
   }
   catch(Exception ex)
   {
    lbMessage3.Text="创建文件失败!原因:"+ex.Message;
   }
  }

  private void btnDelete_Click(object sender, System.EventArgs e)
  {
   try
   {
    if(!File.Exists(txtDeleteFile.Text.Trim().ToString()))
    {
     lbMessage4.Text="源文件不存在";
    }
    else
    {
     File.Delete(txtDeleteFile.Text);
     lbMessage4.Text="文件删除成功";
    }
   }
   catch(Exception ex)
   {
    lbMessage4.Text="删除文件失败!原因:"+ex.Message;
   }
  }

  private void btnInfo_Click(object sender, System.EventArgs e)
  {
   try
   {
    FileInfo fi=new FileInfo(txtFileInfo.Text.Trim().ToString());
    if(!fi.Exists)
    {
     lbMessage5.Text="该文件不存在";
    }
    else
    {
     lbMessage5.Text="获取文件信息成功,内容如下:";
     lbAtt.Visible=true;
     lbDir.Visible=true;
     lbEdit.Visible=true;
     lbLength.Visible=true;
     lbTime.Visible=true;
     lbDir.Text="文件的所在位置:"+fi.DirectoryName;
     lbLength.Text="文件大小:"+fi.Length;
     lbTime.Text="文件的创建时间:"+fi.CreationTime;
     lbEdit.Text="文件最近的修改时间:"+fi.LastWriteTime;
     lbAtt.Text="文件属性:"+fi.Attributes+"  即:存档文件";
    }
   }
   catch(Exception ex)
   {
    lbMessage5.Text="获取文件信息失败!原因:"+ex.Message;
   }
  }

  private void btnCreateDir_Click(object sender, System.EventArgs e)
  {
   try
   {
    string strDir=txtDirectory.Text.Trim().ToString();
    if(Directory.Exists(strDir))
    {
     lbMessage6.Text="该文件夹已经存在";
     return;
    }
    if(!Directory.Exists(strDir.Substring(0,strDir.LastIndexOf("\\"))))
    {
     //注意:如果你输入的路径没有\,会出现”长度不能小于 0。参数名: length”错误
     lbMessage6.Text="文件路径不存在";
     return;
    }
    else
    {
     DirectoryInfo dirInfo=Directory.CreateDirectory(strDir);
     lbMessage6.Text="成功创建文件夹!创建时间为:"+Directory.GetCreationTime(strDir);
    }
   }
   catch(Exception ex)
   {
    lbMessage6.Text="创建文件夹失败!原因:"+ex.Message;
   }
  }

  private void btnLook_Click(object sender, System.EventArgs e)
  {
   try
   {
    if(!Directory.Exists(txtLookDir.Text.Trim().ToString()))
    {
     lbMessage7.Text="该文件夹不存在";
     return;
    }
    else
    {
     DirectoryInfo dirInfo=new DirectoryInfo(txtLookDir.Text);
     FileSystemInfo[] dirs=dirInfo.GetFileSystemInfos();
     if(dirs.Length<1)
     {
      lbMessage7.Text="该文件夹为空!";
     }
     else
     {
      lbMessage7.Text="目录列表如下:";
      lstDir.Visible=true;
      lstDir.DataSource=dirs;
      lstDir.DataBind();
     }
    }
   }
   catch(Exception ex)
   {
    lbMessage7.Text="查看文件列表失败!原因:"+ex.Message;
   }
  }

  private void btnWrite_Click(object sender, System.EventArgs e)
  {
   try
   {
    if(File.Exists(txtFileWrite.Text.Trim().ToString()))
    {
     lbMessage8.Text="该文件已经存在";
     return;
    }
    else
    {
     StreamWriter sw=File.CreateText(txtFileWrite.Text);
     sw.WriteLine(txtWriteInfo.Text);
     sw.Close();
     lbMessage8.Text="文件写入成功";
    }
   }
   catch(Exception ex)
   {
    lbMessage8.Text="写入文本文件失败!原因:"+ex.Message;
   }
  }

  private void btnRead_Click(object sender, System.EventArgs e)
  {
   try
   {
    if(!File.Exists(txtReadFile.Text.Trim().ToString()))
    {
     lbMessage9.Text="该文件不存在";
     return;
    }
    else
    {
     StreamReader sr=File.OpenText(txtReadFile.Text);
     txtReadInfo.Text=sr.ReadToEnd();
     sr.Close();
     txtReadInfo.Visible=true;
     lbMessage9.Text="读取文本成功!";
    }
   }
   catch(Exception ex)
   {
    lbMessage8.Text="读取文本文件失败!原因:"+ex.Message;
   }
  }
 }
}