对文件夹的操作总结

首先,要实现对文件夹的操作就必须添加命名空间:using System.IO;  using System.Text;

这两个命名空间是对文件夹操作的必要条件。

现在动态的新建文件夹:

首先,给出要新建文件夹的路径:例如:  

 string Path = @"d:/大学/平时的练习/文件夹操作/"; 这表明该文件夹被新建在D盘上面;

实现方法:

 

#region  创建文件夹事件

    protected void Button1_Click(object sender, EventArgs e)

    {///新建文件夹

     ///

     if(txtFile.Text==""){

 

         Response.Write("<script>alert('请输入数据!!')</script>");

     }

        else{

        path = path + txtFile.Text;///路径 txtFile.Text(文本框)

        if(Directory.Exists(path)){ ///判断该文件夹是否已经存在。

  Response.Write("<script>alert('该文件夹已经存在了!')</script>");

            return;

    }

        else{     //新建该文件夹

            Directory.CreateDirectory(path);

            Response.Write("<script>alert('创建成功!')</script>");

        }

    }

}

    #endregion

上面实现的主要是动态创建文件夹,下面是将文件放到该文件夹中,实现方法:

#region   上传数据事件

protected void Button2_Click(object sender, EventArgs e)

    {

    if(File1.PostedFile.ContentLength==0){ ///没有选择要上传的数据

 

        Response.Write("<script>alert('请选择要上传的数据!!')</script>");

   }

    else{

     if(TextBox2.Text==""){

 

                Response.Write("<script>alert('请输入要上传到的文件夹名称!')</script>");

            }

                else{

                ///现在获得了文件夹的路劲,但要判断是否存在该文件夹.

                ///

                    Npath = Npath + TextBox2.Text;

                    if(Directory.Exists(Npath)){

                        //该文件夹存在,可以上传文件

                     string FileFulllName = this.File1.PostedFile.FileName;///获取全名

                        string FileName = FileFulllName.Substring(FileFulllName.LastIndexOf("//")+1);///获取文件的名称

     string FileType = FileName.Substring(FileName.LastIndexOf(".")+1);   

                        //给上传文件加载一个时间,以免冲突.

                        FileName = DateTime.Now.Month.ToString() + "." + DateTime.Now.Day.ToString() + "." +DateTime.Now.Hour.ToString()+"."+DateTime.Now.Minute.ToString()+"."+DateTime.Now.Second.ToString()+"."+ FileName;

                        if(FileType=="png"||FileType=="gif"||FileType=="jpg"){    

                            ///保存数据到文件夹

                            ///

                            this.File1.PostedFile.SaveAs(Npath+@"/"+FileName);

                            Response.Write("<script>alert('上传成功 !')</script>");

  }     }

                    else{

                        Response.Write("<script>alert('不存在这样的文件夹!!')</script>");       }

            }

  }

}

#endregion

 

现在进行动态的创建文本文档,方法如下:

#region  创建文本文档事件

protected void Button3_Click(object sender, EventArgs e)

    {    if(txtName.Text==""){

   Response.Write("<script>alert('请输入文件名!')</script>");

   }

        else{

   Path = Path + txtName.Text;

   if(File.Exists(Path)){

 

            Response.Write("<script>alert('已经存在了!!')</script>");

        }

        else{

            FileStream fs = File.Create(Path); ///创建文本文档

///下面两行代码同样可以实现将数据写入到文本文档中去,但是一定要记得关闭数据流。

            //Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");

            //fs.Write(info, 0, info.Length);

            fs.Close();  //关闭数据流,上面的方法到此就已经实现将数据写入到文本文档中。

//下面的是另外的一种方法,实现将数据写入到文本文档中。

            StreamWriter sw = new StreamWriter(Path); //Path 指的是文本文档的路径,当然也可以直接给//出文本文档的名称。

            sw.Write("我要写点东西");

            sw.Close();

            ///没有将文件流关闭,所以才会出现这样的问题;现在将文件读取出来。

      Response.Write("<script>alert('成功了!')</script>");

        }

  }                     }

#endregion

 

以上实现了动态创建文件夹、文本文档、并且将数据动态存放到文件夹中,以及将数据动态的写入到文本文档中,现在则主要是将数据从该文本文档中读取出来,下面的代码则是为了实现这一目的:

 #region  读取文档中的数据

    protected void Button5_Click(object sender, EventArgs e)

{

 ///首先,判断要读取的文档是否存在,如果存在就读取;否则就不读取。

        Path = Path + "rr.txt";//要读取文件的路径

        if(File.Exists(Path)){ //判断是否存在.

           //可以执行读取操作.

            StreamReader sr = new StreamReader(Path); ///指定读取文档的路径。

            string Result;

            while((Result=sr.ReadLine())!=null){

  TextBox3.Text = Result; ///将读取出来的数据显示到文本框里面。

  }

            sr.Close(); //关闭流。

     Response.Write("<script>alert('读取完毕!')</script>");

        }

        else{

    Response.Write("<script>alert('您要读取的文件不存在! ')</script>");

            return;     }

     } 

 #endregion

 

 

还需要实现的功能有:怎样实现文件的复制、文件的重命名等操作;

 

文件夹的重命名:

实现原理:文件夹重命名的实现原理主要是通过将文件重新复制到另外一个文件夹里面,然后将原来的文件夹删除掉,进而实现文件夹的重命名实现代码如下:

  

 string Path = @"d:/学期项目设计(三)/NewPhoto/";//旧文件夹的路径

   string NewPath = @"d:/学期项目设计(三)/NewPhoto/";//新文件夹的路径.

  string result;

    protected void Button1_Click(object sender, EventArgs e)

   {

    ///旧文件夹的路径

 Path =Path + Session["Name"].ToString() + @"/" + Session["AlbumName"].ToString();

   //新文件夹的路径

   NewPath = NewPath + Session["Name"].ToString() + @"/" + TextBox2.Text;//新建文件夹的路径,

     //现在需要判断该文件夹是否已经存在了。

    if(Directory.Exists(NewPath)){//判断是否已经存在了.

      Response.Write("<script>alert('该相册已经存在,不能再新建!')</script>");

         return;

  }

      //如果不存在.,那么就更改相册名,并将数据全部移到新的相册中,将旧相册删除掉。

   Directory.Move(Path,NewPath);//实现将文件夹重命名操作。

    //在这里需要注意一点,修改文件夹的名称,新文件夹不可以先存在,而是由系统自动新建,否则程序就会报错。

 

野狼

201166日晚 

 

 

对文本文档的继续写入操作,如下:

 #region 添加数据到文本文档的操作

    protected void Button8_Click(object sender, EventArgs e)

    {

        path = path + TextBox7.Text;///文本文档路径(已经存在的)

                                    ///

        //Npath = Npath + TextBox8.Text;

        if(TextBox8.Text==""||TextBox7.Text==""){

 

            Response.Write("<script>alert('请输入数据!')</script>");

            return;

        }

        else{

           ///判断是否存在这样的文件

            ///

                if(!File.Exists(path)){

    Response.Write("<script>alert('不存在这样的文件!')</script>");

                    return;

   }

            else{

                using (StreamWriter sw=File.AppendText(path)) {

  sw.Write(TextBox8.Text);

     sw.Close();///关闭数据流.

   Response.Write("<script>alert('成功了哈')</script>");

                }

      }

        }

        ///现在将数据读取出来

        ///

  using (StreamReader sr = File.OpenText(path)) {

    string Result;

            while((Result=sr.ReadLine())!=null){

     TextBox9.Text = Result;

          }

            sr.Close();

  }

      Response.Write("<script>alert('成功了哈')</script>");

    }

#endregion

对文件夹的删除操作,实现代码如下:

 #region  删除文件夹操作

    protected void Button7_Click(object sender, EventArgs e)

    {

       string DeletePath=@"D:/大学/平时的练习/文件夹操作/";//删除文件夹的上一级路径

       if(TextBox6.Text==""){

           Response.Write("<script>alert('请输入文件夹名称! ')</script>");

       }

        else{

           ///现在需要判断是否存在这样的文件夹

           ///

            DeletePath = DeletePath + TextBox6.Text;

           if(!Directory.Exists(DeletePath)){

               Response.Write("<script>alert('您要读取的文件不存在! ')</script>");

               return;

         }

           else{

               Directory.Delete(DeletePath);

               Response.Write("<script>alert('删除成功!')</script>");

           }

      }

    }

    #endregion

 

野狼

201167

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值