23
Jul

C#学习笔记之十二

  1. SYSTEM.IO类:

    类名说明
    BinaryReader用特定的编码将基元数据类型读作二进制值
    BinaryWriter以二进制形式将基元类型写入流,并支持用特定编码写入字符串
    BufferedStream给另一流上的读写操作添加一个缓冲层,无法继承此类
    Directory公开用于创建、移动和枚举通过目录和子目录的静态方法,无法继承此类
    DirectoryInfo公开用于创建、移动和枚举目录和子目录的实例方法,无法继承此类
    DirectoryNotFoundException当找不到文件或目录的一部分时引发的异常
    DriveInfo提供对有关驱动器的信息的访问
    DriveNotFoundException当尝试访问的驱动器或共享不可用时引发的异常
    EndOfStreamException读操作试图超出流的末尾引发的异常
    ErrorEventArgs为Error事件提供数据
    File提供用于创建、复制、删除、移动和打开文件的实例方法,并且帮助创建FileStream对象。无法继承此类
    FileInfo提供创建、复制、删除、移动和打开文件的实例方法,并且帮助创建FileStream对象。无法继承此类
  2. File类是一个静态类,它不能显式的创建实例,提供了一些常用的静态方法:

    方法说明
    CreateText(string FilePath)创建或打开一个文件用于写入UTF-8编码的文本
    OpenText(string FilePath)打开现有UTF-8编码文本文件以进行读取
    Open(string FilePath,FileMode)打开指定路径上的FileStream,具有读写访问权限
    Create(string FilePath)在指定路径中创建文件
    OpenRead(string FilePath)打开现有文件以进行读取
    AppendText(string FilePath)创建一个StreamWriter,它将UTF-8编码文本追加到现有文件
  3. 在指定路径总创建文件使用Create()方法:public static FileStream Create(string path);注意要引用System.IO

  4. 判断文件是否存在的方法public static bool Exists(string path);

  5. 复制文件:public static void Copy(string sourceFileName,string destFileName,bool overwrite);

  6. 删除文件:public static void Delete(string path);

  7. 文 件的加密:public static void AddCrypt(string filename){File.Encrypt(filename);};文件的解密:public static void ReduceCrypt(string filename){File.Decrypt(filename);};加密文件后只有调用此方法的账户才能解密文件;

  8. 文件读取:

    声明含义

    public static byte[]

    ReadAllBytes(string path)

    打开一个文件,将文件内容读入一个字符串,然后关闭该文件。返回一个字节数组

    public static string[]

    ReadAllLines(string path)

    打开一个文本文件,读取文件的所有行,然后关闭该文件。返回一个字符串数组

    public static string[]

    ReadAllLines(string path,Encoding encoding)

    打开一个文件,使用指定的编码读取文件的所有行,然后关闭文件。返回一个字符串数组

    public static string

    ReadAllText(string path)

    打开一个文本文件,读取文件的所有行,然后关闭该文件。返回一个字符串

    public static string

    ReadAllText(string path,Encoding encoding)

    打开一个文件,使用指定的编码读取文件的所有行。然后关闭该文件。返回一个字符串
  9. 文件夹类Directory,其构造函数为public Directory(string path);主要属性如下

    属性含义
    Attributes0x01表示只读,0x02表示隐藏
    Name当前路径名
    Parent上一级目录名
    Root所有根目录名
    CreationTime目录创建时间
    LastAccessTime上一次访问目录的时间
    LastWriteTime上一次修改目录的时间

    常用Directory类成员方法如下

    方法说明
    CreateDirectory创建指定路径中的所有目录
    Delete删除指定的目录
    Exists确定给定路径是否引用磁盘上的现有目录
    GetCurrentDirectory获取应用程序的当前工作目录
    GetDirectories获取指定目录中子目录的名称
    GetFiles返回指定目录中的文件的名称
    GetLogicalDrives检索此计算机上格式为"<驱动器号>:\"的逻辑驱动器的名称
    GetParent检索指定路径的父目录,包括绝对路径和相对路径
    Move将文件或目录及其内容移到新位置
  10. 创建文件夹:public static DirectoryInfo CreateDirectory(string path);

  11. 删除文件夹:public static void Delete(string path);

  12. 获 取程序当前目录:public static string GetCurrentDirectory();获取指定目录子目录,返回字符串数组:public static string[] GetDirectories(string path);用指定的searchPattern搜索模式获取指定目录中的子目录,返回字符串数组:public satatic string[] GetDirectories(string path,searchPattern);用指定的searchPattern搜索模式指定是否包含子目录,获取指定目录中的子目录:public static string[] GetDirectories(string path,searchPattern,SearchOption searchOption);

  13. 文件信息类FILEINFO与FILE类不同,它提供的是实例方法。如果使用FileInfo必须要实例化;FileInfo常用属性如下:

    属性说明
    Attributes获取或设置当前FileSystemInfo的FileAttributes
    CreateionTime获取或设置当前FileSystemInfo对象的创建时间
    Directory

    获取父目录的实例

    DirectoryName获取表示目录的完整路径的字符串
    Exists获取指定文件是否存在的值
    Extension获取表示文件扩展名部分的字符串
    FullName获取目录或文件的完整目录
    IsReadOnly获取或设置确定当前文件是否为只读的值
    Length获取当前文件大小
    Name获取文件名
  14. 文件夹信息类DIRECTORYINFO与FileInfo相同,都是实例化类;常用属性如下:

    属性说明
    Attributes获取或设置当前FileSystemInfo的FileAttributes
    CreationTime获取或设置当前FileSystemInfo对象的创建时间
    Exists获取指定目录是否存在的值
    Extension获取表示文件扩展名部分的字符串
    Name获取此DirectoryInfo实例的名称
    Parent获取指定子目录的父目录
    Root获取路径的根部分
  15. 流是.NET操作文件基本类;输入流用于读取数据,输出流用于向外部目标写数据,常见的流类如下:

    说明
    Stream抽象的基类Stream,支持读写字节
    FileStream支持通过Seek方法随机访问文件,支持同步及异步操作
    MemoryStream无缓冲的流,可以在内存中直接访问封装的数据
    BufferedStream为流添加缓冲过程
    TextReader用于Unicode字符的输出
    StreamReader从Stream读取字符,并用Encoding进行字符和字节之间的转换
    StringReader从String读取字符,允许使用相同的API处理String
    TextWriter用于Unicode字符的输入
    StreamWriter向Stream写字符,并且使用Encoding将字符转换为字节
    StringWriter允许使用相同的API处理String
    BinaryReader从流中读取二进制数据
    BinaryWriter向流中写入二进制数据
  16. 文件流类FileStream,为文件读写提供通道,而File对象相当于提供一个文件句柄,在文件操作中必须实例化一个FileStream类对象使用,常用的构造函数如下:

    声明说明
    public FileStream(string path,FileMode Mode);使用指定录几个和创建模式FileStream类的实例
    public FileStream(string path,FileMode Mode,FileAccess access);使用指定的路径和创建模式以及共享权限创建FileStream类的实例
    public FileStream(string path,FileMode Mode,FileAccess access,FileShare share);使用指定的路径和创建模式以及共享权限创建FileStream类的实例

    FileMode指定创建文件流实例时打开指定文件的模式,有以下几种值:FileAccess用于指定读和写的访问权限。有如下可选值:FileShare指定共享访问权限,即多人同时对某一文件进行并发操作的使用权限。有如下可选值:

    • Delete:允许随后的请求删除文件;

    • Inheritable:使用文件句柄由子进程继承;

    • None:文件以独占方式打开,关闭前,任何请求都将失败;

    • Read:允许其他请求读取;

    • ReadWrite:允许其他请求读取和写入;

    • Write:允许其他写入;

    • Read:对文件的读访问;

    • ReadWrite:对文件的可读写访问;

    • Write:对文件的写访问;

    • Append:打开文件并定位到文件尾,或创建新的文件;

    • Create:创建新的文件,如果文件存在则被覆盖;

    • CreateNew:创建新的文件,如果文件存在,则引发IOException;

    • Open:打开现有文件,如果文件不存在,则引发FileNotFoundException;

    • OpenOrCreate:打开现有文件,如果文件不存在,创建新文件;

    • Truncate:打开现有文件,并将打开的文件截断为0字节大小;

  17. 文件流类FileStream常用属性:

    属性说明

    public override bool CanRead{get;}

    是否支持读取
    public override bool CanSeek{get;}是否支持查找
    public override bool CanWrite{get;}是否支持写
    public override loog Length{get;}

    获取流的长度

    public override void SetLength(long value)设置流的长度
    public override long Position{get;set;}获取或设置文件流当前位置
    public virtual bool IsAsync{get;}指定文件流是同步还是异步打开
  18. 流写入类StreamWriter构造函数如下:public StreamWriter(Stream stream);和public StreamWriter(string path);

  19. 流 读取类StreamReader一般与StreamWriter配套使用:public StreamReader(Stream stream);和public StreamReader(string path);流读取类StreamReader重载了TextReader类的Read、ReadLine、ReadToEnd和ReadBlock方 法;

  20. 二进制流写入类BinaryWriter支持特定编码写入字符串,常用构造如下:public BinaryWriter(Stream output);和public BinaryWriter(Stream output,Encoding encoding);

  21. 二 进制流读取类BinaryReader用特定的编码将基元数据类型读作二进制值,构造如下:public BinaryReader(Stream input);和public BinaryReader(Stream input,Encoding encoding);


About Me

Nothing is impossible!

Friends
倩倩的网站儿子的网站丽丽
CATEGORIES
Tags
ChatGPT四舍五入GOBeatles想像冰雪奇缘北京编程SSL证书认知障碍Docker春天行政区域名列表域名体系nginxopen_basedir思维指令编程语言程序URL网站上线域名FTP云服务器搜索引擎JSCSS网页超链接聚合内容列表元素网页构成网站的构成网站的分类网站单标签HTML第一个网页简单网页博域科技2018香山春游AJAX字体
Copyright©2022 王阳 版权所有  京ICP备14005672号-6