C#文件操作知识点(2)-创新互联

10年的汪清网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整汪清建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“汪清网站设计”,“汪清网站推广”以来,每个客户项目都认真落实执行。

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]标记即可。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:C#文件操作知识点(2)-创新互联
URL标题:http://pwwzsj.com/article/dsjjsc.html