欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第11章补充文件操作精选文档.ppt

    • 资源ID:44689681       资源大小:1.87MB        全文页数:39页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第11章补充文件操作精选文档.ppt

    第第11章补充文件操作章补充文件操作本讲稿第一页,共三十九页 使用流读写文件必须引入命名空间:使用流读写文件必须引入命名空间:System.IO;FileStream类,以字节为单位读写二进制或任意格式的类,以字节为单位读写二进制或任意格式的文件;文件;BinaryReader类和类和BinaryWriter类,以二进制形式,从类,以二进制形式,从文件直接读写文件直接读写bool、string、int16、int32等基本数据类型数等基本数据类型数据;据;StreamReader和和StreamWriter类,以字符或字符串为类,以字符或字符串为单位读写文本文件。单位读写文本文件。C#中文件的读写操作使用的类中文件的读写操作使用的类2本讲稿第二页,共三十九页 使用使用FileStream类可以类可以建立文件流对象建立文件流对象建立文件流对象建立文件流对象,用来打开和关闭,用来打开和关闭文件,以字节(文件,以字节(byte)为单位读写文件。)为单位读写文件。u 属性属性CanRead、CanSeek、CanWrite:检查流对象是否可以:检查流对象是否可以读、定位、写。读、定位、写。u 属性属性Length:以字节为单位表示流对象长度,即文件的长:以字节为单位表示流对象长度,即文件的长度(字节为单位)。度(字节为单位)。u 属性属性Position获取或设置流对象当前读写位置。获取或设置流对象当前读写位置。构造函数:构造函数:u参数参数path是文件的相对路径或绝对路径是文件的相对路径或绝对路径 FileStream类类public FileStream(string path,FileMode mode,FileAccess access)打开方式读写方式3本讲稿第三页,共三十九页FileMode.Create,创建新文件,如果文件已存在,文件内容将被,创建新文件,如果文件已存在,文件内容将被删除;删除;FileMode.CreateNew,创建新文件,如果文件已存在,则引发,创建新文件,如果文件已存在,则引发异常;异常;FileMode.Open,打开现有文件,如果文件不存在,则引发,打开现有文件,如果文件不存在,则引发异常;异常;FileMode.OpenOrCreate,如果文件存在,打开文件,否则,如果文件存在,打开文件,否则,创建新文件:创建新文件:FileMode.Truncate,打开现有文件,并将文件所有内容删,打开现有文件,并将文件所有内容删除。除。FileMode.Append,打开文件并将读写位置移到文件尾,文件不,打开文件并将读写位置移到文件尾,文件不存在则创建新文件,只能同存在则创建新文件,只能同FileAccess.Write一起使用;一起使用;FileMode参数参数4本讲稿第四页,共三十九页FileAccess.Read(只读方式打开文件只读方式打开文件)FileAccess.Write(只写方式打开文件只写方式打开文件)FileAccess.ReadWrite(读写方式打开文件读写方式打开文件)。也可以没有第三个参数,默认为也可以没有第三个参数,默认为FileAccess.ReadWrite。FileAccess参数参数5本讲稿第五页,共三十九页void Write(byte array,int offset,int count)void Write(byte array,int offset,int count);将数组中多个字节写入流,参数将数组中多个字节写入流,参数1是要写入的数组,要是要写入的数组,要写入流的第写入流的第1个字节是个字节是arrayoffset,参数,参数3为要写入的为要写入的字节数。字节数。FileStream类的类的Write方法方法6本讲稿第六页,共三十九页 using System;using System.IO;/使用文件必须引入的命名空间使用文件必须引入的命名空间 class WriteFile static void Main()/建立字节数组建立字节数组 byte data=new byte10;/为数组赋值为数组赋值 for(int i=0;i 10;i+)datai=(byte)i;/建立流对象建立流对象 FileStream fs=new FileStream(E:f1.dat,FileMode.Create);/写写data字节数组中的所有数据到文件字节数组中的所有数据到文件 fs.Write(data,0,10);/不再使用的流对象,必须关闭。垃圾收集器不能自动清除流对象不再使用的流对象,必须关闭。垃圾收集器不能自动清除流对象 fs.Close();Write方法示例方法示例7本讲稿第七页,共三十九页int Read(byte array,int offset,int count)int Read(byte array,int offset,int count);从流中读数据写入字节数组从流中读数据写入字节数组array,读入的第,读入的第1个字个字节写入节写入arrayoffset,参数,参数3为要读入的字节数。返为要读入的字节数。返回值为所读字节数,由于可能已读到文件尾部,其值回值为所读字节数,由于可能已读到文件尾部,其值可能小于可能小于count,甚至为,甚至为0。FileStream类的类的Read方法方法8本讲稿第八页,共三十九页 using System;using System.IO;/使用文件必须引入的命名空间使用文件必须引入的命名空间 class ReadFile static void Main()FileStream fs=new FileStream(E:f1.dat,FileMode.Open);byte data=new bytefs.Length;/fs.Length为文件字节数为文件字节数 long n=fs.Read(data,0,(int)fs.Length);/n为所读字节数为所读字节数 fs.Close();Console.WriteLine(文件的内容如下:文件的内容如下:);foreach(byte m in data)Console.Write(0,m);Read方法示例方法示例9本讲稿第九页,共三十九页long Seek(long offset,SeekOrigin origin)long Seek(long offset,SeekOrigin origin);作用:作用:移动读写位置到参数移动读写位置到参数2指定位置加上参数指定位置加上参数1指定偏移指定偏移量处;量处;参数参数2:SeekOrigin.Begin 开始位置开始位置SeekOrigin.End 结束位置结束位置SeekOrigin.Current 当前读写位置。当前读写位置。FileStream类的类的Seek方法方法10本讲稿第十页,共三十九页 using System;using System.IO;/使用文件必须引入的命名空间使用文件必须引入的命名空间 class FileStreamProperty static void Main()FileStream fs=new FileStream(E:f1.dat,FileMode.Open);/无第无第3个参数个参数 /文件读写位置移到从文件尾部向前文件读写位置移到从文件尾部向前4个字节个字节 fs.Seek(-4,SeekOrigin.End);byte data=new bytefs.Length;long n=fs.Read(data,0,(int)fs.Length);/n为所读字节数为所读字节数,4 Console.WriteLine(文件的内容如下:文件的内容如下:);foreach(byte m in data)Console.Write(0,m);fs.Close();Seek方法示例方法示例11本讲稿第十一页,共三十九页读写基本数据类型读写基本数据类型(与与FileStream类实例配合类实例配合使用!使用!)u可以从文件直接读写可以从文件直接读写bool、string、int16、int32等基本数据类型数据。等基本数据类型数据。常用常用BinaryWriterBinaryWriter类方法如下。类方法如下。构造函数构造函数BinaryWriter(Streaminput):参数为:参数为FileStream类对象。类对象。u方法方法void Write(void Write(数据类型数据类型数据类型数据类型 Value)Value):写入参数指定的:写入参数指定的数据类型的一个数据,数据类型可以是基本数据类型,数据类型的一个数据,数据类型可以是基本数据类型,例如,例如,int、bool、float等。等。BinaryReader类与类与BinaryWriter类类12本讲稿第十二页,共三十九页 using System;using System.IO;/使用文件必须引入的命名空间使用文件必须引入的命名空间 class WriteFile static void Main()FileStream fs=new FileStream(E:f2.dat,FileMode.Create);BinaryWriter w=new BinaryWriter(fs);for(int i=0;i10;i+)w.Write(i);/写入写入int类型数据类型数据 w.Close();BinaryWriter类的类的Write方法方法13本讲稿第十三页,共三十九页构造函数构造函数BinaryReader(Stream input):参数为:参数为FileStream类对象类对象 方法方法ReadBoolean、ReadByte、ReadChar等等等等:返回一个指定类型数据。方法没有参数。返回一个指定类型数据。方法没有参数。方法方法byte ReadBytes(int count):返回字节数:返回字节数组中是按参数指定数量读出的字节。组中是按参数指定数量读出的字节。BinaryReader类的读方法类的读方法14本讲稿第十四页,共三十九页 using System;using System.IO;/使用文件必须引入的命名空间使用文件必须引入的命名空间 class ReadFile static void Main()int data=new int10;FileStream fs=new FileStream(E:f2.dat,FileMode.Open);BinaryReader r=new BinaryReader(fs);for(int i=0;i 0)OutFile=new FileStream(f2+i.ToString()+.fsm,FileMode.Create,FileAccess.Write);OutFile.Write(buffer,0,n);i+;OutFile.Close();else mark=false;inFile.Close();拆分文件拆分文件原文件原文件目标文件目标文件目标文件大小目标文件大小38本讲稿第三十八页,共三十九页public void MergeFile(string f1,string f2,int f2Num)FileStream OutFile=new FileStream(f1,FileMode.Create,FileAccess.Write);long n,m;byte buffer;for(int i=0;i f2Num;i+)FileStream InFile=new FileStream(f2+i.ToString()+.fsm“,FileMode.Open,FileAccess.Read);m=InFile.Length;buffer=new bytem;n=InFile.Read(buffer,0,(int)m);OutFile.Write(buffer,0,(int)n);InFile.Close();OutFile.Close();合并文件合并文件合并后的目标文合并后的目标文件件原文件原文件原文件个数原文件个数39本讲稿第三十九页,共三十九页

    注意事项

    本文(第11章补充文件操作精选文档.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开