![C#入门课程PPTCsharp入门课程Windows文件操作_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fcf4ea06-a42e-4afb-a5b8-e2350943deea/fcf4ea06-a42e-4afb-a5b8-e2350943deea1.gif)
![C#入门课程PPTCsharp入门课程Windows文件操作_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fcf4ea06-a42e-4afb-a5b8-e2350943deea/fcf4ea06-a42e-4afb-a5b8-e2350943deea2.gif)
![C#入门课程PPTCsharp入门课程Windows文件操作_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fcf4ea06-a42e-4afb-a5b8-e2350943deea/fcf4ea06-a42e-4afb-a5b8-e2350943deea3.gif)
![C#入门课程PPTCsharp入门课程Windows文件操作_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fcf4ea06-a42e-4afb-a5b8-e2350943deea/fcf4ea06-a42e-4afb-a5b8-e2350943deea4.gif)
![C#入门课程PPTCsharp入门课程Windows文件操作_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fcf4ea06-a42e-4afb-a5b8-e2350943deea/fcf4ea06-a42e-4afb-a5b8-e2350943deea5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1文件操作2 2预习检查预习检查 FileModeFileMode是个什么类型的数据?是个什么类型的数据? 使用使用FileFile类需要实例化吗?类需要实例化吗?3 3本章任务本章任务 实现文本读写器实现文本读写器 实现小型资源管理器实现小型资源管理器4 4 掌握文本文件的读写掌握文本文件的读写 会进行文件和文件夹操作会进行文件和文件夹操作本章目标本章目标5 5为什么需要操作文件为什么需要操作文件如何使得程序中的数据持久化?如何使得程序中的数据持久化?用数据库实现用数据库实现 成本太大成本太大适用于大批量数据适用于大批量数据 使用文件对数据进行持久化,用程序操作文件使用文件对数据进行持久化,
2、用程序操作文件 6 6文件的应用场合文件的应用场合 计算机上有多种文件可以保存数据计算机上有多种文件可以保存数据这些文件你都熟悉吧?这些文件你都熟悉吧? 7 7如何读写文本文件如何读写文本文件创建一个文件流创建一个文件流 创建相应的读写器创建相应的读写器(reader and writer) 执行读写操作执行读写操作 关闭读写器关闭读写器( (reader and writer) ) 关闭文件流关闭文件流 读写一个文件的步骤:读写一个文件的步骤:123458 8读写文本文件应用读写文本文件应用 实现文本文件读写器实现文本文件读写器将文本框的内容写将文本框的内容写入入Text.txt文件文件演示
3、示例:文本读写器演示示例:文本读写器9 9创建文件流创建文件流 FileStream myfs = new FileStream( path, FileMode.Create);指定文件路径指定文件路径 FileMode枚举枚举Create:创建一个新文件:创建一个新文件Open:指定打开现有文件:指定打开现有文件CreateNew:新建一个文件新建一个文件Append:打开现有文件追加:打开现有文件追加指定如何打开文件指定如何打开文件 引入引入System.IOSystem.IO命名空间命名空间提供文件操作的类提供文件操作的类 文件流用于(文件流用于(FileStreamFileStream
4、类)读写文件类)读写文件如果文件存在、如果文件存在、则改写旧文件则改写旧文件 如果文件存在如果文件存在会发生异常会发生异常 1010创建写入器和读取器创建写入器和读取器 文本文件写入器:文本文件写入器:StreamWriterStreamWriter StreamWriter mySw = new StreamWriter(myfs); mySw.Write(content); mySw.WriteLine(content);传入文件流传入文件流写入方法写入方法 文本文件读取器:文本文件读取器:StreamReaderStreamReader写入一行数据的方法写入一行数据的方法 StreamR
5、eader mySr = new StreamReader(myfs); content = mySr.ReadToEnd(); content = mySr.ReadLine();传入文件流传入文件流读取到文件末尾读取到文件末尾读取一行读取一行1111将数据写入文本文件将数据写入文本文件 写入文本文件写入文本文件 FileStream myfs = new FileStream(path, FileMode.Create); StreamWriter mySw = new StreamWriter(myfs); mySw.Write(content); mySw.Close(); myfs.
6、Close();创建一个文件流创建一个文件流 创建写入器创建写入器写入操作写入操作 关闭关闭演示示例:写入文本文件演示示例:写入文本文件1212读取文本文件读取文本文件this.ofdMain.ShowDialog(); string path = ofdMain.FileName; FileStream myfs = new FileStream(path, FileMode.Open); StreamReader mySr = new StreamReader(myfs); content = mySr.ReadToEnd(); txtContent.Text = content; myS
7、r.Close(); myfs.Close(); 读取文本文件读取文本文件使用使用OpenFileDialogOpenFileDialog控件显示打开文件的窗口控件显示打开文件的窗口创建一个文件流创建一个文件流创建读取器创建读取器将流从当前位置读到末尾将流从当前位置读到末尾关闭关闭演示示例:读取文本文件演示示例:读取文本文件选择文件选择文件1313解决读取时中文乱码解决读取时中文乱码 读取包含中文的读取包含中文的TXTTXT文件时,可能出现中文乱码文件时,可能出现中文乱码FileStream myfs = new FileStream(path, FileMode.Open);StreamRe
8、ader mySr = new StreamReader(myfs, Encoding.Default);/读取器读取器 content = mySr.ReadToEnd();txtContent.Text = content;默认使用默认使用Unicode字字符,设置符,设置Encoding改变默认设置改变默认设置Encoding.UTF8或或Encoding.Default演示示例:使用演示示例:使用Encoding解决中文乱码解决中文乱码1414读取文件读取文件141515保存写入文件保存写入文件151616文件操作的应用文件操作的应用 文件操作包括文件操作包括判断文件是否存在判断文件是
9、否存在、拷贝、移动、删除等、拷贝、移动、删除等等等 文件的复制和删除文件的复制和删除将源文件拷贝将源文件拷贝到目标位置到目标位置删除源文件删除源文件1717文件操作文件操作 FileFile类:提供操作文件的各种方法类:提供操作文件的各种方法方法说明Exists(string path)用于检查指定文件是否存在,该方法返回一个布尔值Copy(string sourceFileName,string destFileName)按指定路径的源文件中的内容复制到目标文件中,如果目标文件不存在,则在指定路径中新建一个文件Move (string sourceFileName,string destFi
10、leName)将指定文件移动到一个新的路径Delete(string path)删除指定的文件,如果指定的文件不存在,则不引发异常1818文件操作示例文件操作示例演示示例:文件复制和删除演示示例:文件复制和删除/检查一个文件是否存在检查一个文件是否存在if (!File.Exists(this.txtFileName.Text) MessageBox.Show(文件不存在文件不存在);else /将源文件拷贝到一个新文件将源文件拷贝到一个新文件 File.Copy(this.txtFileName.Text, this.txtCopyName.Text); MessageBox.Show(拷贝
11、成功拷贝成功!);1919复制文件复制文件192020202121目录操作目录操作 Directory Directory 类提供对文件夹的拷贝、移动、删除等操作类提供对文件夹的拷贝、移动、删除等操作方法说明Exists(string path)用于检查指定文件夹在磁盘上是否存在Move(string sourceDirName,string destDirName)用于将文件或目录及其内容移到新位置Delete(string path,bool recursive)删除指定目录,如果bool指定true,则删除子目录中的所有目录内容Delete(string path)从指定路径删除空目录2
12、222文件操作文件操作22232323复制文件夹中所有文件复制文件夹中所有文件2424静态类与非静态类静态类与非静态类 FileFile类与类与DirectoryDirectory类类public static class File public static class Directory 静态类静态类静态类非静态类用static修饰不用static修饰只包含静态成员可以包含静态成员不可以包含实例成员可以包含实例成员使用类名调用静态成员使用实例对象调用非静态成员不能被实例化可以被实例化不能包含实例构造函数包含实例构造函数2525提供实例方法的文件类提供实例方法的文件类 FileInfoFil
13、eInfo类类 DirectoryInfoDirectoryInfo类类FileInfo fi = new FileInfo(D:tempFileInfo.txt);Console.WriteLine(文件是否存在:文件是否存在:+ fi.Exists);Console.WriteLine(文件名:文件名:+ fi.Name);Console.WriteLine(文件目录名:文件目录名:+ fi.Directory.Name);fi.CopyTo(E:tempFileInfo.txt);如需调用一系列方如需调用一系列方法,法,FileInfo效率效率更高、更简单更高、更简单DirectoryI
14、nfo di = new DirectoryInfo(D:test);/返回当前目录的子目录返回当前目录的子目录DirectoryInfo subDir = di.GetDirectories();/返回当前目录的文件列表返回当前目录的文件列表FileInfo fi = di.GetFiles(); 以以实例方式实例方式提供提供File和和Directory类绝大多数方法类绝大多数方法2626文件操作综合应用文件操作综合应用3-13-1 开发小型资源管理器,可以浏览文件信息开发小型资源管理器,可以浏览文件信息显示选定文件夹显示选定文件夹下的文件列表下的文件列表显示显示D盘下文件盘下文件夹结构夹
15、结构272728282929文件操作综合应用文件操作综合应用3-23-2 绑定当前目录下子目录绑定当前目录下子目录DirectoryInfo directoryInfo = new DirectoryInfo(node.Tag.ToString();DirectoryInfo dirs = directoryInfo.GetDirectories();foreach (DirectoryInfo di in dirs) TreeNode temp = new TreeNode(); temp.Text = di.Name; temp.Tag = di.FullName; node.Nodes.
16、Add(temp);D:获取获取D:的子目录的子目录遍历子目录,获取遍历子目录,获取目录信息目录信息3030文件操作综合应用文件操作综合应用3-33-3 获取文件夹下文件列表获取文件夹下文件列表演示示例:小型资源管理器演示示例:小型资源管理器FileInfo fileInfo = directoryInfo.GetFiles(); List files = new List(); /MyFile类定义我的文件类类定义我的文件类foreach (FileInfo myFile in fileInfo) MyFile file = new MyFile(); file.FileName = myF
17、ile.Name; file.FileLength = myFile.Length; file.FileType = myFile.Extension; file.FilePath = myFile.FullName; files.Add(file);获取某目录下所有获取某目录下所有文件文件文件名文件名文件长度文件长度文件扩展部分文件扩展部分的字符串的字符串完整目录完整目录3131练习练习资源管理器显示文件信息资源管理器显示文件信息 训练要点训练要点使用使用FileInfoFileInfo类类使用使用DirectoryInfoDirectoryInfo类类 需求说明需求说明实现小型资源管理器,
18、支持显示文件信息实现小型资源管理器,支持显示文件信息使用使用TreeViewTreeView控件显示文件夹结构控件显示文件夹结构使用使用ListViewListView控件显示选定文件夹下文件列表控件显示选定文件夹下文件列表完成时间:完成时间:25分钟分钟3232指导指导实现文件复制实现文件复制 训练要点训练要点使用使用FileFile类类 需求说明需求说明完善小型资源管理器,实现文件复制完善小型资源管理器,实现文件复制支持用户从支持用户从“浏览文件夹浏览文件夹”对话框选定目标位置对话框选定目标位置方便用户选择文方便用户选择文件复制目标位置件复制目标位置3333指导指导实现文件复制实现文件复制 难点分析难点分析打开打开“浏览文件夹浏览文件夹”,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度建筑安全施工材料质量检测合同
- 2025年度体育用品批发采购合同体育
- 2025年度生态毛竹绿色采购合同示范文本
- 2025年度专业赛车队雇佣驾驶员及教练团队合同
- 绵阳2025上半年四川绵阳安州区面向区内考调机关事业单位工作人员30人笔试历年参考题库附带答案详解
- 绍兴浙江绍兴市外服派驻越城机关单位景点讲解员招聘笔试历年参考题库附带答案详解
- 医用氧气项目融资计划书
- 深圳广东深圳市南山区教育系统招聘财务人员(劳务派遣)7人笔试历年参考题库附带答案详解
- 柳州广西柳州市第六中学参加广西2025届综合性高校毕业生就业双选会招聘教师3人笔试历年参考题库附带答案详解
- 杭州浙江杭州市生态环境局桐庐分局招聘编外工作人员笔试历年参考题库附带答案详解
- 【高考作文指导】用思辨来写现象类作文(共39张PPT)
- GB/T 4214.1-2017家用和类似用途电器噪声测试方法通用要求
- GB/T 11822-2000科学技术档案案卷构成的一般要求
- 水轮发电机组及其附属设备招标文件
- 压力管道基本知识课件
- 读李玫瑾教授《心理抚养》有感
- 小学英语 国际音标 练习及答案
- 优秀班主任经验交流课件-班主任经验交流课件
- HP-DL380-Gen10-服务器用户手册
- 2023年广州金融控股集团有限公司招聘笔试题库及答案解析
- YB∕T 105-2014 冶金石灰物理检验方法
评论
0/150
提交评论