C#实现文件与目录操作(文本文件读取与写入方法,文件的删除、移动和复制、文件目录操作)详解

                                          文件与目录操作

主要包括对文本文件读取与写入方法,文件的删除、移动和复制、文件目录操作。


首先展示一下最终的界面如下所示:

首先建立Windows窗体应用程序,在Form1.cs【设计】中进行界面设计如上图展示 所示:

接下来就是关于如何进行文本文件读写、文件操作、文件目录操作三个方面展开程序讲解;

  • 一、将窗口TextBox中的文字保留到指定文件中的方法如下:
///对文件的操作是基于数据流进行的,所以需要引入此命名空间
using System.IO;  
 ///将文本 写入文本文件
        private void button1_Click(object sender, EventArgs e)
        {
            //[1]创建文件流(文件打开方式,如果不存在就创建)
            FileStream fs = new FileStream("D:\\Fromfile\\myfile.txt", FileMode.Create);

            //[2]创建写入器
            StreamWriter sw = new StreamWriter(fs);

            //[3]以流的方式写入数据
            sw.Write(this.textContent.Text.Trim());

            //[4]关闭写入器
            sw.Close();

            //[5]关闭文件流
            fs.Close();
        }

通过以上5个步骤实现写入文本文件。

  • 二、从指定文本文件中读取文本到textBox控件方法类似:
 ///从文本文件中读取 文本
        private void button2_Click(object sender, EventArgs e)
        {
            //[1]创建文件流(文件模式,打开一个文件 )
            FileStream fs = new FileStream("D:\\Fromfile\\myfile.txt", FileMode.Open);

            //[2]创建读取器
            StreamReader sr = new StreamReader(fs);

            //[3]以流的方式读取数据 (读取全部数据)
            this.textContent.Text = sr.ReadToEnd();

            //[4]关闭读取器
            sr.Close();

            //[5]关闭文件流
            fs.Close();
        }
  • 三、模拟写入系统日志
 private void button3_Click(object sender, EventArgs e)
        {
            //[1]创建文件流(文件模式:追加)
            FileStream fs = new FileStream("D:\\Fromfile\\myfile.txt", FileMode.Append);

            //[2]创建写入器
            StreamWriter sw = new StreamWriter(fs);

            //[3]以流的方式“逐行”写入数据 
            sw.WriteLine(DateTime.Now.ToString()+ "文件操作正常!" );

            //[4]关闭写入器
            sw.Close();

            //[5]关闭文件流
            fs.Close();
        }
  • 四、删除文件、   复制文件、移动文件
        ///删除文件
        private void button4_Click(object sender, EventArgs e)
        {
            File.Delete(this.txtFrom.Text.Trim());
        }
        ///复制文件
        private void button5_Click(object sender, EventArgs e)
        {
            if (File.Exists(this.txtTo.Text.Trim())) //判断文件是否存在(如果文件存在,直接复制会出现错误)
            {
                File.Delete(this.txtTo.Text.Trim());  //删除文件
            }
            File.Copy(this.txtFrom.Text.Trim(), this.txtTo.Text.Trim()); //复制文件
        }
        ///移动文件
        private void button6_Click(object sender, EventArgs e)
        {

        }

   C#移动文件夹中的所有文件夹与文件到另一个文件夹参考:https://blog.csdn.net/szsbell/article/details/51800424

  • 五、显示指定目录下所有文件、显示指定目录下所有子目录、在指定目录下创建一个目录、删除指定目录下的所有目录和文件
            ///显示指定目录下所有文件
            private void button7_Click(object sender, EventArgs e)
            {
                string[] files = Directory.GetFiles("D:\\Fromfile");
                this.textContent.Clear();
                foreach (string  item in files)
                {
                    this.textContent.Text += item + "\r\n";
                }
            }
    
            ///显示指定目录下所有子目录
            private void button8_Click(object sender, EventArgs e)
            {
                string[] dirs = Directory.GetDirectories("D:\\Fromfile");
                this.textContent.Clear();
                foreach (string item in dirs)
                {
                    this.textContent.Text += item + "\r\n";
                }
            }
    
            ///在指定目录下创建一个目录
            private void button9_Click(object sender, EventArgs e)
            {
                Directory.CreateDirectory("D:\\Fromfile\\newfiles");
            }
    
            ///删除指定目录下的所有目录和文件
            private void button10_Click(object sender, EventArgs e)
            {
                ///Directory.Delete("D:\\Fromfile");//要求目录必须为空
                ///使用DirectoryInfo对象,可以删除不为空的目录
                DirectoryInfo dir = new DirectoryInfo("D:\\Fromfile");
                dir.Delete(true);
            }

    关于目录的操作可以仔细查阅Directory类与DirectoryInfo 类中的方法。

  • 工程源码下载:https://download.csdn.net/download/cqfdcw/10827590

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值