讲义第六讲 IO操作

上传人:101****457 文档编号:34381302 上传时间:2018-02-23 格式:PPTX 页数:36 大小:2.64MB
返回 下载 相关 举报
讲义第六讲 IO操作_第1页
第1页 / 共36页
讲义第六讲 IO操作_第2页
第2页 / 共36页
讲义第六讲 IO操作_第3页
第3页 / 共36页
讲义第六讲 IO操作_第4页
第4页 / 共36页
讲义第六讲 IO操作_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《讲义第六讲 IO操作》由会员分享,可在线阅读,更多相关《讲义第六讲 IO操作(36页珍藏版)》请在金锄头文库上搜索。

1、第六第六 讲讲 IO操作操作 IO类File类主要内容主要内容IO概 述6.1 概 述 1 文件 类 型 按文件 数 据的 组织 格式,文件可分 为 ASCII文件和二 进制文件( ASCII文件 与 二 进 制文件的 区别 ) 2 文件的 属 性 ( 1)文件 属 性:只 读 、 隐 藏和 归档 等 类 型。 ( 2) 访问 方式: 读 、 读 /写 和 写 等 类 型。 ( 3) 访问权 限: 读 、 写 、追加 数 据等 类 型。 ( 4)共享 权 限:文件共享、文件不共享等 类 型。 3 文件 访问 方式 在 C#中可以通 过 .NET的 System.IO模型以流的方式对 各 种数

2、据文件 进 行 访问 。 4文件 编码 文件 编码 也 称为 字符 编码 ,用于指定在 处 理文本 时 如何表示字符。一 种编码 可能 优 于另一 种编码 ,主要取 决 于 它 能 处 理或不能 处 理 哪 些 语 言字符,不 过 通常首 选的是 Unicode。6.2 IO类 -读写数 据流的 类 1、 Stream 类 是派生出各 种类 的抽象 类 , 处 理 字 节 流 其中的一些派生 类 包括 FileStream MemoryStream BufferedStream CryptoStream 2、读取文本文件 构 造函 数Public StreamReader(string pat

3、h, Encoding encoding); 其中 path指定要 读 取的完整文件路 径 ,encoding指定要使用的字 节编码 。例如GB2312,UTF8等 编码 形式class Class1 static void Main(string args)StreamReader sr = new StreamReader(c:temp.txt“, Encoding.GetEncoding(gb2312);string line;while(!sr.EndOfStream)line = sr.ReadLine() Console.WriteLine(line);sr.Close();Con

4、sole.ReadLine(); 练习 : 1、 读 取一 个 文本文件, 并统计该 文件中的字母、 数 字、符 号 各有多少 个 。 3、 写入文本文件 与 StreamReader类对应 的 类 是StreamWriter类 , 它专门 用于 写 入文本文件 Public StreamWriter(string path,bool append, Encoding encoding); 其中 path指定要 写 入的完整文件路 径 ,append为 false则该 文件被改 写 ,如果 该文件存在, 并 且 append为 true, 则数 据被追加到 该 文件中。否 则将创 建新文件。E

5、ncoding指定要使用的字 节编码 。class Class1static void main(string args)StreamWriter sw = new StreamWriter(c:temp2.txt“, true, Encoding.GetEncoding(gb2312);string data = hello world, how are you;sw.WriteLine(data);sw.Close(); 练习 : 1、生成一 个随 机 测试 字符串或者 数 字 测试 文件。6.2 File操作 C#将 文件看成是 顺 序的字 节 流,也 称为 文件流。 文件流是字 节 序

6、列的抽象 概 念,文件可以看成是存 储 在磁 盘 上的一系列二 进 制字 节 信息。 C#用文件流 对 其 进 行 输 入、 输 出操作,例如, 读 取文件信息、向文件 写 入信息。 C#提供 Stream类 ( System.IO成 员 )是所有流的基 类 ,由 它 派生出文件流 FileStream和 缓冲 区 流 BufferedStream。 1、 FileStream 类构造函数 File类 提供了文件操作的方法, 并协 助 创建 FileStream对 象。构造函数FileStream(string FilePath, FileMode)FileStream(string File

7、Path, FileMode, FileAccess)FileStream(string FilePath, FileMode, FileAccess, FileShare)static void Main()tryFileStream fs = new FileStream(“C:artistslog.txt, FileMode.OpenOrCreate, FileAccess.ReadWrite);byte alpha = new byte6 65, 66, 67, 68, 69, 70 ;foreach (byte b in alpha)fs.WriteByte(b);fs.Positi

8、on = 0;for (int i = 0; i fs.Length; i+)Console.Write(char)fs.ReadByte();fs.Close();catch (Exception ex)Console.Write(ex.Message); File提供用于 创 建、 复 制、 删 除、移 动 和打 开 文件的 静态方法, 并协 助 创 建 FileStream对 象 FileInfo提供用于 创 建、 复 制、 删 除、移 动 和打 开 文件的实 例方法, 并协 助 创 建 FileStream对 象 Directory提供用于 创 建、移 动 和 检 索文件 夹与 子文件

9、 夹的 静态 方法 (Directory不可以被 继 承 ) DirectoryInfo提供用于 创 建、移 动 和 检 索文件 夹与 子文件夹 的 实 例方法 Path提供了用于操作路 径 的 静态 方法。例如 获 得文件 扩 展名, 从 路 径 中 获 得文件名等File类 使用方法 AppendText:返回 StreamWrite,向指定文件添加 数 据;如文件不存在,就 创 建 该文件。 Copy: 复 制指定文件到新文件 夹 。 Create:按指定路 径 建立新文件 Delete: 删 除指定文件。 Exists: 检查 指定路 径 的文件是否存在,存在,返回 true。 Get

10、Attributes: 获 取指定文件的 属 性。 GetCreationTime:返回指定文件或文件夹 的 创 建日期和 时间 。 GetLastAccessTime:返回上次 访问 指定文件或文件 夹 的 创 建日期和 时间 。 GetLastWriteTime:返回上次 写 入指定文件或文件 夹 的 创 建日期和 时间 。 Move:移 动 指定文件到新文件 夹 。 Open:返回指定文件相 关 的 FileStream,并 提供指定的 读 /写许 可。 OpenRead:返回指定文件相 关 的只 读FileStream。 OpenWrite:返回指定文件相 关 的 读 /写FileSt

11、ream。 SetAttributes: 设 置指定文件的 属 性。 SetCretionTime: 设 置指定文件的 创 建日期和 时间 。 SetLastAccessTime: 设 置上次 访问 指定文件的日期和 时间 。 SetLastWriteTime: 设 置上次 写 入指定文件的日期和 时间 。 2、常 见 的文件操作 复制文件File.Copy(“c:temp.txt”, “D:temp.txt”,true); 删除文件File.Delete(“c:temp.txt”); 确定文件是否存在bool b=File.Exists(“c:temp.txt”); 获 取文件大小 File

12、Info f=new FileInfo(“文件名 ”); long leng=f.Length; 获 取文件的 扩 展名 FileInfo f=new FileInfo(“文件名 ”); string ext=f.Extension; string ext2=Path.GetExtension(“路 径 全名 ”); 获 取路 径 中的文件名 FileInfo f=new FileInfo(“文件名 ”); string name=f.name string name22=Path.GetFileName(“路 径 全名 ”); 3、 管理文件系统管理文件系 统 包括 :文件 夹 的管理文件的

13、管理具体操作包括 :文件 夹 的 创 建、 删 除或移 动文件的 创 建、 删 除、 复 制 Directory类 目录使用 Directory类,可以用目录类创建、移动目录,并可列举目录及子目录的内容。 Directory类全部是静态方法。 CreateDirectory:按指定路 径创 建所有文件 夹 和子文件 夹 。 Delete: 删 除指定文件 夹 。 Exists: 检查 指定路 径 的文件 夹 是否存在,存在,返回 true。 GetCreationTime:返回指定文件或文件夹 的 创 建日期和 时间 。 GetCurrentDirectory: 获 取 应 用程序的当 前工作

14、文件 夹 。 GetDirectories: 获 取指定文件 夹 中子文件 夹 的名 称 。 GetDirectoryRoot:返回指定路 径 的卷信息、根信息或 两 者同 时 返回。 GetFiles:返回指定文件 夹 中子文件的名称 。 GetFileSystemEntries:返回指定文件 夹中所有文件和子文件的名 称 。 GetLastAccessTime:返回上次 访问 指定文件或文件 夹 的 创 建日期和 时间 。 GetLastWriteTime:返回上次 写 入指定文件或文件 夹 的 创 建日期和 时间 。 GetLogicalDrives: 检 索 计 算机中的所有驱动 器,

15、例如 A:、 C:等等。 GetParent: 获 取指定路 径 的父文件 夹 ,包括 绝对 路 径 和相 对 路 径 。 Move: 将 指定文件或文件 夹 及其 内 容移动 到新位置。 SetCreationTime: 设 置指定文件或文件夹 的 创 建日期和 时间 。 SetCurrentDirectory: 将应 用程序的 当前工作文件 夹设 置指定文件 夹 。 SetLastAccessTime: 设 置上次 访问 指定文件或文件 夹 的日期和 时间 。 SetLastWriteTime: 设 置上次 写 入指定文件 夹 的日期和 时间 。 4、 常见文件夹操作 获 取 当 前 应 用程序的路 径Console.WriteLine(Directory.GetCurrentDirectory(); 获 取 当 前 计 算机所有 逻辑驱动 器的名 称string drvs=Directory.GetLogicalDrives();foreach(string drv in drvs)Con

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号