当前位置:文档之家› 文件和数据流分析解析

文件和数据流分析解析


OpenText
OpenWrite
创建使用 UTF8 编码、从现有文本文件中进行读取的 StreamReader。
创建只写 FileStream。
创建hello.txt的文件并显示该文件的信息(也可 File.CreateText()) FileStream f = new FileStream("hello.txt",FileMode.Create); FileInfo fi = new FileInfo(); Console.WriteLine("文件名:"+);显示信息 Console.WriteLine("扩展名:"+fi.Extension); Console.WriteLine("全 名:"+fi.FullName); Console.WriteLine("路径名:"+fi.DirectoryName); Console.WriteLine("创建时间:"+fi.CreationTime ); Console.WriteLine("文件大小:"+fi.Length); Console.WriteLine("最后一次访问时间: "+stAccessTime); Console.WriteLine("最后一次写时间: "+stWriteTime );
有关的命名空间及类 System.IO,其中类 层 次 图如下:
Object Directory File Path
MarshallByRefObject FileSystemInfo Stream Component
FileStream
FileInfoBiblioteka DirectoryInfo
FileSystemWatcher
C# 中的“c:\\MyDir\\MyFile.txt”或 Visual Basic 中
的“c:\MyDir\MyFile.txt”。 C# 中的“c:\\MyDir”或 Visual Basic 中的 “c:\MyDir”。 C# 中的“MyDir\\MySubdir”或 Visual Basic 中的 “MyDir\MySubDir”。 C# 中的“\\\\MyServer\\MyShare”或 Visual Basic 中的“\\MyServer\MyShare”。
文件拷贝、删除、移动示例 .doc P14
3、FileInfo类编程
功能: 获得文件信息的FileInfo类编程(当然也可以利 用File类来达到)。 目的: 在获得文件的数据之前,可能需要获得文件的属 性,可以通过FileInfo类来达到。
编程要点: 它与File的差别在于:其方法不是静态方法,需 要实例化其对象来操作 主要成员:请见下页
已重载。打开指定路径上的 FileStream。
打开现有文件以进行读取。 打开现有 UTF-8 编码文本文件以进行读取。 打开现有文件以进行写入。
注意:
File 方法都是静态的。 File 类的静态方法对所有方法都执行安全检查 。 默认情况下,将向所有用户授予对新文件的 完全读/写访问权限。 在接受路径作为输入字符串的成员中,路径 的格式必须正确,否则将引发异常 。例如, 以下都是可接受的路径 :
4、文件目录操作
文件目录操作的类: Directory类 DirectoryInfo 类。 其使用规则与File和FileInfo类 同
Directory类主要方法:
CreateDirectory Delete 按 path 的指定创建所有目录和子目录。 已重载。删除目录及其内容。
Exists
string sourceFile=“src.dat”; string targetFile=“target.dat”; try { File.Copy(sourceFile,targetFile); // 拷 贝 文件 } catch(System.IO.FileNotFoundException) { Console.WriteLine("\n{0} 不 存 在 !", sourceFile); }
示例: //创建名为world的目录并显示该目录的信息 DirectoryInfo di = Directory.CreateDirectory("world"); Console.WriteLine("目录名:"+); Console.WriteLine("全 名:"+di.FullName); Console.WriteLine("父目录名:"+di.Parent); Console.WriteLine("根目录名:"+di.Root); Console.WriteLine("创建时间:"+di.CreationTime); Console.WriteLine("最后一次访问时间: "+stAccessTime); Console.WriteLine("最后一次写时间: "+stWriteTime ); Console.ReadLine();
DirectoryInfo类主要方法:
Create CreateSubdirectory 创建目录。 在指定路径中创建一个或多个子目录。指 定路径可以是相对于 DirectoryInfo 类的 此实例的路径。 已重载。已重写。从路径中删除 DirectoryInfo 及其内容。 已重载。返回当前目录的子目录。
StreamReader 、StreamWriter 读写文本数据信息 StringReader、StringWriter 运用字符串缓冲读写文本数据信 息
文件和路径名的信息、管理方面的类如: – File:提供用于创建、复制、删除、移动和打开 文件的静态方法 – FileInfo:提供创建、复制、删除、移动和打 开文件的实例方法 – Directory:提供用于创建、移动和枚举目录和 子目录的静态方法。 – DirectoryInfo:提供用于创建、移动和枚举目 录和子目录的实例方法 注:利用这些类可以操作文件或路径。
流的数据传送
缓冲区
缓冲区
5、文件数据(流)的操作
流的格式:
由于有不同种类的流(如文本、二进制格式等),因而 读写的方法也不同。
对流的三个基本操作:
可以读取流 可以写入流 流可以支持查找
文件读写的一般编程步骤:
打开或创建文件(或者建立输入或输出流;) 读出或写入数据; 关闭文件流。
File类常用方法
Copy 已重载。将现有文件复制到新文件。
Create
CreateText Delete Exists Move
已重载。在指定路径中创建文件。
创建或打开一个文件用于写入 UTF-8 编码的文本。 删除指定的文件。 确定指定的文件是否存在。 将指定文件移到新位置。
Open
OpenRead OpenText OpenWrite
第七讲 C#文件操作
本讲主要内容: 文件及目录的属性与管理编程
File及FileInfo Directory及DirectoryInfo类
文件数据编程
File、FileInfo 文本文件的读写 二进制格式及随机文件的的读写
递归算法 文件的加密/解密 文件监控
一. C#中的文件操作
TextReader
TextWriter
StreamReader
StreamWriter
C#中的文件操作的分类
主要有: 文件和路径名的属性和管理方面的类 文件内容(数据)操作方面的类。
类名 BinaryReader、BinaryWriter 功能和用途 读写二进制数据
Directory、File、DirectoryInfo 创建、删除并移动目录和文件, 以及FileInfo 通过属性获取特定目录和文件的 相关信息 FileStream MemoryStream 以随机方式访问文件 访问存储在内存中的数据
Delete GetDirectories
GetFiles
MoveTo
已重载。返回当前目录的文件列表。
将 DirectoryInfo 实例及其内容移动到新 路径。
1〉建立新文件夹 Directory.CreateDirectory(path) 2〉删除文件夹 Directory.Delete(path) 3〉判断文件夹是否存在 Directory.Exists(path) 4)读取文件夹日期 Directory.GetCreationTime(path);
GetCurrentDirectory GetDirectories GetDirectoryRoot GetFiles GetLogicalDrives GetParent Move
确定给定路径是否引用磁盘上的现有目录。
获取应用程序的当前工作目录。 已重载。获取指定目录中子目录的名称。 返回指定路径的卷信息、根信息或两者同时 返回。 已重载。返回指定目录中的文件的名称。 检索此计算机上格式为“<驱动器号>:\”的逻辑 驱动器的名称。 检索指定路径的父目录,包括绝对路径和相 对路径。 将文件或目录及其内容移到新位置。
主要方法
AppendText 创建一个 StreamWriter,它向 FileInfo 的此实例表 示的文件追加文本。
CopyTo
Create CreateText Delete MoveTo Open OpenRead
已重载。将现有文件复制到新文件。
创建文件。 创建写入新文本文件的 StreamWriter。 已重写。永久删除文件。 将指定文件移到新位置,并提供指定新文件名的选项。 已重载。用各种读/写访问权限和共享特权打开文件。 创建只读 FileStream。
相关主题