C# 对文件操作

文件操作
简介:
            *计算机系统的主要功能之一是能够快速处理大量信息,主要通过文件的方式来组织和存储数据
             * 文件系统是操作系统的重要组成部分,其主要职责有文件储存,文件存放,文件新增、拷贝、删除以及文件安全保障等
             * C#根据功能的不同,分别提供3种文件对话框,方便用户对文件进行操作。

一、文本对话框
三种不同功能的文件对话框:
            *C#中3种文件对话框,分别实现不同的功能
             * 1.打开文件对话框OpenFileDialog(用于选择需要打开的文件)
             * 2.保存文件的对话框SaveFileDialog(用于选择文件保存的位置)
             * 3.文件夹浏览的对话框FolderBroswerDialog(用于选择文件夹)
            OpenFileDialog对话框属性(与SaveFileDialog保存文件对话框属性基本一致)
            InitialDirectory:设置对话库的初始目录
            FileName:可以帮助当前用户来获得所选择的文件,所对应的路径
            FilterIndex与Filter属性:主要用来设置筛选器(通过后缀名进行筛选)
       //使用任何对话框前,先判断ShowDialog()的返回值是否为DialogResult.OK,再进行选择后的操作
  //OpenFileDialog对话框
        private void button1_Click(object sender, EventArgs e)
        {
            //所有对话框使用ShowDialog()方法,运行对话框,返回值为DialogResult类型
            if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                //OpenFileDialog对话框可以通过FileName属性获取当前选择的文件路径
                //获取用户选择的文件所对应的路径
                this.textBox1.Text = this.openFileDialog1.FileName;
            }
        }
        //saveFileDialog对话框
        private void button2_Click(object sender, EventArgs e)
        {
            if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                this.textBox1.Text = this.saveFileDialog1.FileName;
            }
        }
        //folderBrowserDialog对话框通过SelectedPath属性获取当前选择文件夹的路径
        private void button3_Click(object sender, EventArgs e)
        {
            //所有对话框使用ShowDialog()方法,运行对话框,返回值为DialogResult类型
            if (this.folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                //获取用户选择的"文件夹"所对应的路径
                this.textBox1.Text = this.folderBrowserDialog1.SelectedPath;
            }
        }

二、文件常规操作
*文件管理是操作系统的重要组成部分,主要包括创建、移动、复制和删除等操作()
* 在C#中可以通过File类和FileInfo类方便的实现上述操作
      
1.两者的主要区别是:
        File为静态类只包含静态方法,不能被实例化,方法调用方便,但执行效率较低,
        Filelnfo为非静态类,必须创建对象,才能调用方法,但执行效事较高。
2.File2和FileInfo类均存在与System.I0合名空间中。
3.File类常用方法
Exists();用于检测指定文件是否存在
Copy();将现有文件复制到新文件中
Move();将指定文件移动到新位置
Delete();删除指定文件
//文件移动
            //判断需要移动的文件是否存在
            //Exists用于检测指定的文件是否存在
            if (File.Exists(textBox1.Text))
            {
                //如果存在就可以移动文件
                //Move指定文件移动到新位置
                //File.Move(原文件位置, 新文件位置);
                File.Move(textBox1.Text, textBox2.Text);
                MessageBox.Show("移动成功!");
            }

二、文件夹常用操作
             文件夹操作方法介绍:
             文件夹管理是操作系统的重要组成部分,主要包括创建、移动和删除等操作。
             在C#中提供了Directory类和DirectoryInfo 类用于对磁盘和文件夹进行操作管理。
常用属性即要点:
1.CreateDirectory():在指定路径创建所有目录和子目录。
2.Delete(string, bool):删除指定的文件夹, 为了保证删除成功,一般设置为true。
如果不加true就必须保证要删除的目录为空
3.Move():将指定文件夹移动到新位置。Directory.Move(textBox1.Text,path);
4.Directory.Exists(textBox1.Text);判断文件夹是否存在
5.//获取该目录下的全部子目录中文件的名字(包括文件路径)
string filesName = Directory.GetFiles(pathStr);

示例:
     
   private void button1_Click(object sender, EventArgs e)
        {
            if (this.folderBrowserDialog1.ShowDialog()==DialogResult.OK)
            {
                //获取文件夹路径
                this.textBox1.Text = this.folderBrowserDialog1.SelectedPath;
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            //判断文本框里面是否有内容
            if (!string.IsNullOrEmpty(textBox1.Text))
            {
                //获取要创建文件夹的路径和问价夹名称
                string path = textBox1.Text+"\\"+textBox2.Text;
                // CreateDirectory():在指定路径创建所有目录和子目录。
                //用于创建文件夹
                Directory.CreateDirectory(path);
                MessageBox.Show("创建成功!");
            }
            else
            {
                MessageBox.Show("请选择需要创建目录的文件夹!");  
            }
        }
        private void groupBox4_Enter(object sender, EventArgs e)
        {
        }
        private void button4_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(textBox1.Text))
            {
                if (Directory.Exists(textBox1.Text))
                {
                    //删除指定路径下的文件夹
                    //Delete(string, bool):删除指定的文件夹, 为了保证删除成功,一般设置为true。
                    //如果不加true就必须保证要删除的目录为空
                    Directory.Delete(this.textBox1.Text,true);
                    MessageBox.Show("删除成功!");
                }
                else
                {
                    MessageBox.Show("需要删除的文件夹不存在!");
                }
            }
            else
            {
                MessageBox.Show("请选择要删除的文件夹!");
            }
        }
        private void button3_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(textBox1.Text))
            {
                if (folderBrowserDialog1.ShowDialog()==DialogResult.OK)
                {
                    string  path = folderBrowserDialog1.SelectedPath + "\\" + textBox3.Text;//新路径
                    //Move():将指定文件夹移动到新位置。
                    Directory.Move(textBox1.Text,path);
                    MessageBox.Show("移动成功!");
                }
            }
            else
            {
                MessageBox.Show("请选择要移动的文件夹!");
            }
        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值