Asp.net IO类目录操作实例 完成获得驱动器列表 显示目录文件 读取文件内容

Asp.net IO类目录操作实例 完成取得驱动器列表 显示目录下的子目录和文件 读取文件内容 显示文件信息

IODirectory.aspx.cs代码(实现驱动器目录列表)

private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   string[] drives=Directory.GetLogicalDrives();
   int numofdrives=drives.Length;
   Response.Write("<ul>");
   for(int i=0;i<numofdrives;i++){
   Response.Write("<li><a href=/"listdir.aspx?dir=");
    Response.Write(Server.UrlEncode(drives[i]));
    Response.Write("/">"+drives[i]);
    Response.Write("</a><br>");
   }
   Response.Write("</ul>");
      }

listdir.aspx.cs代码(显示目录下的子目录和文件)

private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   string strdirlist=Request.QueryString.Get("dir");
   DirectoryInfo directory=null;
   try{
   directory=new DirectoryInfo(strdirlist);    
    //读取目录属性
    Response.Write("<p>Creation:"+directory.CreationTime.ToString()+"</p>");
    DirectoryInfo[] subDirectory=directory.GetDirectories();
    Response.Write("<ul>");
    for(int i=0;i<subDirectory.Length;i++){
    Response.Write("<li><a href=/"listdir.aspx?dir=");
     Response.Write(Server.UrlEncode(subDirectory[i].FullName));
     Response.Write("/">"+subDirectory[i].Name);
     Response.Write("</a><br>");
    }
    Response.Write("</ul>");
    FileInfo[] theFiles=directory.GetFiles();//可以使用GetFiles("*.txt")进行文件搜索
    Response.Write("<ul>");
    for(int i=0;i<theFiles.Length;i++){
    Response.Write("<li><a href=/"showfile.aspx?file=");
     Response.Write(Server.UrlEncode(theFiles[i].FullName));
     Response.Write("/">"+theFiles[i].Name);
     Response.Write("</a><br>");
    }
    Response.Write("</ul>");
       }
  catch(Exception ex){
    Response.Write("Access not possible. error:<i>");
    Response.Write(e.ToString()+"</i>");
    Response.End();
   }
  }

showfile.aspx.cs代码(显示文件内容)

public string strFileshow;
  public FileInfo thisOne;
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   Encoding ed=Encoding.GetEncoding("gb2312");
   Response.ContentEncoding=ed;
   Request.ContentEncoding=ed;
   strFileshow=Request.QueryString.Get("file");
   thisOne=new FileInfo(strFileshow);
   Response.Write("文件名:"+thisOne.Name+"<br>");
   Response.Write("文件路径:"+thisOne.FullName+"<br>");
   Response.Write("文件目录:"+thisOne.DirectoryName+"<br>");
   Response.Write("文件建立时间:"+thisOne.CreationTime.ToString()+"<br>");
   Response.Write("文件大小:"+thisOne.Length+"Bytes<br>");
   Response.Write("最后访问时间:"+thisOne.LastAccessTime+"<br>");
   streamShow();
  }
  private void streamShow(){//显示文件
   //相关学习Stream StreamWriter StreamReader FileStream Stream Text 编码问题PostedFile
   //FileStream fs=new FileStream(thisOne,FileMode.Open,FileAccess.Read);
   //Response.Charset=Encoding.GetEncoding("gb2312");
   StreamReader dr=thisOne.OpenText();
   char[] theBuffer=new char[255];
   int nread=dr.ReadBlock(theBuffer,0,255);
   //string strshow=dr.ReadToEnd();
   Response.Write("<pre>");
   //Response.Write(strshow);
   Response.Write(Server.HtmlEncode(new string(theBuffer,0,nread)));
   //Response.Write(new string(theBuffer,0,nread,System.Text.Encoding.GetEncoding("gb2312")));
   Response.Write("</pre>");
  }

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值