网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C#文件操作知识点(2)

站在用户的角度思考问题,与客户深入沟通,找到南靖网站设计与南靖网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广、空间域名、网络空间、企业邮箱。业务覆盖南靖地区。

C#文件操作知识点总结(2)

文件和目录操作

1.File类和Directory

Flile类的常用方法

序号

方法

说明

1

Exists(string Path)

用于检查指定文件是否存在,该方法返回一个布尔值

2

Copy(string SourceFilePath,string DestinationFilePath)

将指定路径的源文件中的内容复制到目标文件中,如果目标文件不存在,则在指定路径中新建一个文件

3

Move(string sourceFileName,string destFileName)

将指定文件移到一个新的路径

4

Delete(string path)

删除指定的文件,如果指定的文件不存在,则不引发异常

 

Directory类的常用方法

序号

方法

说明

1

Exists(string path)

用于坚持指定的文件夹在磁盘上是否存在

2

Move(string sourceDirName,string DestDirName)

用于将文件或目录及其内容移到新位置

3

Delete(string,bool)

删除指定目录,如果bool值为true,则删除子目录中的所有目录内容

 

 

例:

 

代码:

 private void button1_Click(object sender, EventArgs e)

        {

            openFileDialog1.Filter = "全部文件 *.*|*.*";

            openFileDialog1.FileName = "全部文件";

            openFileDialog1.ShowDialog();

            this.textBox1.Text = openFileDialog1.FileName;

        }

 

        private void button2_Click(object sender, EventArgs e)

        {

            openFileDialog1.Filter = "全部文件 *.*|*.*";

            openFileDialog1.FileName = "全部文件";

            openFileDialog1.ShowDialog();

            this.textBox2.Text = openFileDialog1.FileName;

        }

 

        //复制文件

        private void button3_Click(object sender, EventArgs e)

        {

            if (!File.Exists(this.textBox1.Text))

            {

                MessageBox.Show("文件不存在");

            }

            else

            {

                File.Copy(this.textBox1.Text, this.textBox2.Text);

                MessageBox.Show("拷贝成功");

            }

        }

 

        //移动文件

        private void button4_Click(object sender, EventArgs e)

        {

            if (!File.Exists(this.textBox1.Text))

            {

                MessageBox.Show("文件不存在");

            }

            else

            {

                File.Move(this.textBox1.Text, this.textBox2.Text);

                MessageBox.Show("移动成功");

            }

        }

        //删除文件

        private void button5_Click(object sender, EventArgs e)

        {

            if (!File.Exists(this.textBox1.Text))

            {

                MessageBox.Show("文件不存在");

            }

            else

            {

                File.Delete(this.textBox1.Text);

                MessageBox.Show("删除成功");

            }

        }

2.FileInfo类和DirectoryInfo

FileInfo类的属性和方法

属性

说明

Exists

用于检查指定文件是否存在,返回一个bool

Extension

获取表示文件扩展命名部分的字符串

Name

获取文件名

FullName

获取目录或文件的完整目录

方法

说明

CopyTo(string)

将现有文件复制到新文件,不允许覆盖现有文件

Delete()

永久删除文件

MoveTo(string)

将指定文件移到新位置(string)

 

例:

            DirectoryInfo di = new DirectoryInfo("D:\testDir");

            //返回当前目录的子目录

            DirectoryInfo[] subDir = di.GetDirectories();

            //返回当前目录的文件列表

            FileInfo[] fi = di.GetFiles();

 

序列化与反序列化

步骤:

1.引入命名空间:using System.Runtime.Serialization.Formatters.Binary;

2.SavingInfoRemind等类的头部加一个标记[Serializable],例如:

[Serializable]

Public class SavingInfo

{

//..............

}

3.编写Save()方法和Load()方法,例如:

//序列化方法

        public void Save()

        { 

            //定义文件流

            FileStream fs = new FileStream(@"files\save.bin", FileMode.Create);

            //二进制方式

            BinaryFormatter bf = new BinaryFormatter();

            //序列化存储对象

            bf.Serialize(this.listArrays);

            //关闭文件流

            fs.Close();

        }

 

        //反序列化方法

        public void Load()

        { 

            //省略判断文件是否存在

            FileStream fs = new FileStream(@"files\save.bin",FileMode.Open);

            BinaryFormatter bf=new BinaryFormatter();

            //反序列化

            this.lisArrays = (SavingInfo)bf.Deserialize(fs);

            fs.Close();

        }

注:Deserialize()方法将存储介质的数据文件流转换为object类型。

不想序列化的属性在其头部加上[NonSerialized]标记即可。


文章标题:C#文件操作知识点(2)
标题路径:http://bjjierui.cn/article/ggiips.html

其他资讯