北大青鸟ACCP4.0教程之C#课件_12

发布时间:2024-10-23

北大青鸟ACCP4.0教程之C#课件_12

第 十二 章 C# 中的文件处理

ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12

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

北大青鸟ACCP4.0教程之C#课件_12

目标了解System.IO 命名空间; 掌握读写文本文件的方法; 掌握向文件读写二进制数据的方法; 掌握读写内存流的方法;

3

ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12

System.IO 命名空间 4-1另存为 .xls 文件

另存为 .bmp 文 件

另存为 .txt 文件

4

以字节形式向磁盘写数据通常称为字节流。存储在磁盘上的 字节集合称为文件 ACCP

V4.0

北大青鸟ACCP4.0教程之C#课件_12

System.IO 命名空间 4-2File对象 静态方法Move Delete Copy CreateText OpenText Open

5

ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12

System.IO 命名空间 4-3试一试: 把C:\WinNT\Win.INI文件拷贝到C:\下的代码,怎么写?

6

ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12

System.IO 命名空间 4-4FileInfo类和File类两者都提供对文件类似的操作 FileInfo不是静态对象 FileInfo提供了实例成员,因此不是线程安全的,不会 因为安全检查而降低效率

7

ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12

读写文本文件 3-1System.IO 命名空间 File 类

静态方法CreateText(string FilePath) OpenText(string FilePath) Open(string FilePath, FileMode) Create(string FilePath) OpenRead(string FilePath) AppendText(string FilePath)8

继承类

FileStream 类

ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12

读写文本文件 3-2FileStream 构造函数

FileStream 已重写构造函数 FileStream(string FilePath, FileMode) FileStream(string FilePath, FileMode, FileAccess) FileStream(string FilePath, FileMode, FileAccess, FileShare) 在构造函数中使用的 FileMode、FileAccess 和 FileShare 参数都是 enum 类型

9

ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12

FileMode 和FileShareFileMode FileShareAppend None ………… Create Read FileStream fstream = new FileStream("Test.cs", FileMode.OpenOrCreate, CreateNew Write FileAccess.ReadWrite, FileShare.None); ReadWrite Open ……… OpenOrCreate Truncate

10

ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12

文件读写例子 4-1

11

ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12

FileStream fs; try { fs = File.Create(txtFileName.Text); } 创建文件 catch { MessageBox.Show("建立文件时出错。","错误", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning); return; }

文件读写例子

byte[] content = new UTF8Encoding(true).GetBytes(txtContent.Text); try { fs.Write(content, 0, content.Length); fs.Flush(); MessageBox.Show("保存成功", "保存", 将转换后的Byte数组写入新建的文本文件 System.Windows.Forms.MessageBoxButto

ns.OK, http://rmation); } catch { MessageBox.Show("写入文件时出错。","错误", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning); } finally { fs.Close(); } ACCP V4.0 }

北大青鸟ACCP4.0教程之C#课件_12

文件读写例子 4-3class FileReadDemo { public static void Main() { string path; Console.WriteLine ( "输入要读取的文件名。指定带路径的完整名称:"); path = Console.ReadLine (); try 检查文件是否存在 { if (!File.Exists(path)) { Console.WriteLine("文件不存在"); } else { 打开文件流 // 打开流以进行读取。 FileStream fs = File.OpenRead(path);13ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12

文件读写例子 4-4//创建一个 byte 数组以读取数据 byte[] arr = new byte[100]; UTF8Encoding data = new UTF8Encoding(true); //继续读文件直到读取文件中的所有数据 while (fs.Read(arr,0,arr.Length) > 0) { Console.WriteLine(data.GetString(arr)); } } }

FileStream.Read() 用于从指定文件读取数据

catch(Exception ex) { Console.WriteLine(“发生错误:" + ex.Message); } } }

14

ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12

读写二进制文件要使用 BinaryReader 和 BinaryWriter 类 这两个对象都需要在FileStream上创建

FileStream filestream = new FileStream(Filename, FileMode.Create); BinaryWriter objBinaryWriter = new BinaryWriter(filestream);

15

ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12

二进制文件读写对象BinaryReaderClose() Read() ReadDecimal() ReadByte() ReadInt16() ReadInt32() ReadString()

BinaryWriterClose() Flush() Write()

16

ACCP V4.0

北大青鸟ACCP4.0教程之C#课件_12.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219