龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

Asp.net使用IO类操作目录及文件实例

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
Asp.net IO类目录操作实例 完成取得驱动器列表 显示目录下的子目录和文件 读取文件内容 显示文件信息 IODirectory.aspx.cs代码(实现驱动器目录列表) private void Page_Load(object sender, System.Event

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>");
}

精彩图集

赞助商链接