ImageVerifierCode 换一换
格式:PPT , 页数:26 ,大小:1MB ,
资源ID:10269000      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10269000.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C#中的文件读写.ppt)为本站会员(scg750829)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

C#中的文件读写.ppt

1、C# 中的文件处理,2,多数编程语言都提供数组这种数据结构,用以存储属于相同类型的多个数据元素 可以使用 Array 类的 CreateInstance 方法来创建Array对象,也可以直接定义数组对象 集合可用于管理在运行时动态创建的元素项 System.Collections 命名空间提供一组接口和类,让用户可以对一组数据元素执行各种集合操作 用户可以通过 HashTable 类将数据、键值作为一组来存储,这些数据是根据键值进行组织的 Array 类属于 System 命名空间,而 ArrayList 类属于 System.Collections 命名空间 ArrayList在Array的

2、基础上提供了动态的特性,回顾,3,目标,了解System.IO 命名空间 掌握读写文本文件的方法 掌握向文件读写二进制数据的方法 掌握读写内存流的方法,4,System.IO 命名空间 4-1,另存为 .xls 文件,另存为 .bmp 文件,另存为 .txt 文件,以字节形式向磁盘写数据通常称为字节流。存储在磁盘上的字节集合称为文件,5,System.IO 命名空间 4-2,File对象,6,System.IO 命名空间 4-3,试一试: 把C:WinNTWin.INI文件拷贝到C:下的代码,怎么写?,7,System.IO 命名空间 4-4,FileInfo类和File类 两者都提供对文件类

3、似的操作 FileInfo不是静态对象 FileInfo提供了实例成员,因此不是线程安全的,不会因为安全检查而降低效率,8,读写文本文件 3-1,System.IO 命名空间,继承类,FileStream 类,File 类,9,读写文本文件 3-2,FileStream 构造函数,在构造函数中使用的 FileMode、FileAccess 和 FileShare 参数都是 enum 类型,10,FileMode 和FileShare,FileMode Append Create CreateNew Open OpenOrCreate Truncate,FileShare None Read W

4、rite ReadWrite, FileStream fstream = new FileStream(“Test.cs“, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None); ,11,文件读写例子 4-1,12,文件读写例子,FileStream fs;tryfs = File.Create(txtFileName.Text);catchMessageBox.Show(“建立文件时出错。“,“错误“,System.Windows.Forms.MessageBoxButtons.OK, System.Windows.For

5、ms.MessageBoxIcon.Warning);return;byte content = newUTF8Encoding(true).GetBytes(txtContent.Text);tryfs.Write(content, 0, content.Length);fs.Flush();MessageBox.Show(“保存成功“, “保存“,System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Information);catchMessageBox.Show(“写入文件时出错。“,

6、“错误“, System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Warning);finally fs.Close();,创建文件,将转换后的Byte数组写入新建的文本文件,13,文件读写例子 4-3,class FileReadDemo public static void Main() string path;Console.WriteLine (“输入要读取的文件名。指定带路径的完整名称:“);path = Console.ReadLine ();tryif (!File.Exists

7、(path)Console.WriteLine(“文件不存在“);else/ 打开流以进行读取。 FileStream fs = File.OpenRead(path);,检查文件是否存在,打开文件流,14,文件读写例子 4-4,/创建一个 byte 数组以读取数据 byte arr = new byte100;UTF8Encoding data = new UTF8Encoding(true);/继续读文件直到读取文件中的所有数据while (fs.Read(arr,0,arr.Length) 0) Console.WriteLine(data.GetString(arr);catch(Ex

8、ception ex)Console.WriteLine(“发生错误:“ + ex.Message); ,FileStream.Read() 用于从指定文件读取数据,15,读写二进制文件,要使用 BinaryReader 和 BinaryWriter 类 这两个对象都需要在FileStream上创建,FileStream filestream = new FileStream(Filename, FileMode.Create); BinaryWriter objBinaryWriter = new BinaryWriter(filestream);,16,二进制文件读写对象,BinaryRe

9、ader,BinaryWriter,17,写二进制文件,public static void Main(String args) Console.WriteLine(“输入文件名:“);string Filename = Console.ReadLine();FileStream filestream = new FileStream(Filename, FileMode.Create);BinaryWriter objBinaryWriter = new BinaryWriter(filestream);for (int index = 0; index 20; index+) objBin

10、aryWriter.Write(int) index);Console.WriteLine(“二进制数据已写入文件“);objBinaryWriter.Close();filestream.Close(); ,创建FileStream 实例,创建BinaryWriter实例,关闭 FileStream 和 BinaryWriter,写数据,18,读二进制文件,public static void Main(String args) Console.WriteLine(“输入文件名:“);string file = Console.ReadLine();if (!File.Exists (fil

11、e)Console.WriteLine(“文件不存在!“);elseFileStream filestream = new FileStream(file, FileMode.Open, FileAccess.Read);BinaryReader objBinaryReader = new BinaryReader(filestream);trywhile(true)Console.WriteLine(objBinaryReader.ReadInt32();catch(EndOfStreamException eof)Console.WriteLine(“已到文件末尾“); ,FileStre

12、am 和 BinaryReader 的实例,读信息,19,读写内存流,抽象类,MemoryStream,BufferedStream,对内存而不是对磁盘进行数据读写 减少了对临时缓冲区和文件的需要,对缓冲区进行数据读写 允许操作系统创建自己的缓冲区 输入/输出效率高且速度更快 在网络通讯的时候经常会使用到,Stream 类,20,BufferedStream 构造函数,public BufferedStream(Stream StName);,public BufferedStream(Stream StName, int bsize);,默认缓冲区大小为 4096,缓冲区大小,21,通过缓冲

13、区交换数据 2-1,public static void Main( ) Console.WriteLine (“请输入文件名:“);string name = Console.ReadLine(); Console.WriteLine (“请输入备份文件名:“);string backup = Console.ReadLine(); if(File.Exists(name)Stream inputStream = File.OpenRead(name);Stream outputStream = File.OpenWrite(backup);BufferedStream bufferedIn

14、put =new BufferedStream(inputStream);BufferedStream bufferedOutput =new BufferedStream(outputStream);,Stream 和 BufferedStream 的实例,22,通过缓冲区交换数据 2-2,byte buffer = new BytesizeBuff;int bytesRead;while (bytesRead =bufferedInput.Read(buffer,0,sizeBuff) 0 )bufferedOutput.Write(buffer,0,bytesRead);Console.

15、WriteLine();Console.WriteLine(“给定备份的文件已创建“);bufferedOutput.Flush( );bufferedInput.Close( );bufferedOutput.Close( );elseConsole.WriteLine (“文件不存在“); ,通过缓冲区进行读写,刷新并关闭 BufferStream,23,示例应用程序 3-1,学生详细信息用户界面,学生文件存储信息用户界面,/声明变量 private FileStream fstream;,public frmStudentEntry() /Constructor构造函数 Initiali

16、zeComponent();fstream = File.Create(“C:Student.txt“); ,private void btnSave_Click(object sender, System.EventArgs e) /准备将文本写入文件string data;data = txtFirstName.Text + “ “ + txtLastName.Text + “ “ +txtClass.Text;data += “ “ + txtGrade.Text +“n“;Byte info = new UTF8Encoding(true).GetBytes(data);/写数据 fs

17、tream.Write(info, 0, info.Length);/刷新并关闭 FileStreamfstream.Flush();fstream.Close();frmStudentFile objfrmStudentFile = new frmStudentFile();objfrmStudentFile.Show(); ,将数据写入文本文件,刷新并关闭 FileStream,24,示例应用程序 3-2,private void frmStudentFile_Load(object sender, System.EventArgs e) FileStream fstream = File

18、.OpenRead(“C:Student.txt“); long filesize = fstream.Length; /创建一个 byte 数组以读取数据 byte arr = new bytefilesize;UTF8Encoding data = new UTF8Encoding(true);/将文件内容读入数组 fstream.Read(arr,0,arr.Length); /拆分数组以检索单个字段值 string text = data.GetString(arr);string delim = “ “;char delimiter = delim.ToCharArray();str

19、ing split = null; for (int x = 1; x = text.Length; x+) split = text.Split(delimiter, x);,创建读取数据的 FileStream 的实例,读取并存储数据,将记录数组拆分成单个字段,25,示例应用程序 3-3,/将值赋给窗体中的各个字段lblFirstNameValue.Text = split0;lblLastNameValue.Text = split1;lblClassValue.Text = split2;lblGradeValue.Text = split3; ,将数组的内容赋给窗体字段,26,总结,File是静态对象,提供对文件的创建、拷贝、移动和删除等一系列操作 File.Create(文件名)可以创建新的文件,并结合FileStream对象来进行读写操作 FileStream 和BinaryReader、BinaryWriter对象结合起来可对二进制数据进行操作 在C#中指明文件名的时候,要使用转义字符“” 内存流提供无法调整大小的数据流视图,而且只能向其写入 BufferedStream对象对缓冲区进行读写,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报