Unity中使用I/O数据流技术的知识点整理

文件I/O流介绍

C#中I/O数据流技术提供了一种向计算机写入字节和从计算机读取字节的方式。使用I/O 能很方便的帮助我们操作计算机文件。数据输入输出示意图如下:
在这里插入图片描述

1.FileStream类的常用属性

属性 说明
CanRead 获取一个值,该值指示当前流是否支持读取
CanSeek 获取一个值,该值指示当前流是否支持查找
CanTimeout 获取一个值,该值指示当前流是否可以超时
CanWrite 获取一个值,该值指示当前流是否支持写入
IsAsync 获取一个值,该值指示FileStream是异步打开还是同步打开
Length 获取用字节表示的流长度
Name 获取传递给构造参数的FileSteam的名称
Position 获取或设置此流的当前位置
ReadTimeout 获取或设置一个值,该值确定流在超时前尝试读取多长时间
WriteTimeout 获取或设置一个值,该值确定流在超时前尝试写入多长时间

2.FileStream类的常用方法

方法 说明
BeginRead 开启异步读取操作
BeginWrite 开始异步写入操作
Close 关闭当前流并释放与之关联的所有资源
EndRead 等待挂起的异步读取完成
EndWrite 结束异步写入,在I/O操作完成之前一直阻止
Lock 允许读取访问的同时防止其他进程更改FileStream
Read 从流中读取字符块并将该数据写入指定缓冲区
ReadByte 从文件中读取一字节,并将读取位置提升一字节
Seek 将该流的当前位置设置为指定值
SetLength 将该流的长度设置为指定值
UnLock 允许其他进程访问以前锁定的某个文件的全部内容或部分内容
Write 使用从缓冲区读取的数据将字节块写入该流
WriteByte 将一字节写入文件流的当前位置

3.使用FileStream类操作文件

使用FileStream类操作文件,要先实例化一个FileStream对象。如操作unity.txt文件:

FileStream fs=new FileStream("Unity.txt",FileMode.Open,FileAccess.ReadWrite);
     FileMode枚举规定了如何打开或创建文件
枚举成员 说明
Appeng 打开现有文件并查找到文件尾,或者创建新文件。FileMode.Append只能与FileAccess.Write结合使用。任何尝试都将失败并引发ArgumentException(异常)
Create 指定操作系统应创建新文件。如果文件已存在,它将被改写。这要求FileIOPermissionAccess.Write。System.IO.FileMode.Create等效于这样的请求;如果文件不存在,则使用CreateNew;否则使用Truncate
CreateNew 指定操作系统应创建新文件。此操作需要FileIOPermissionAccess.Write。如果文件已存在,则将引发IOException(异常)
Open 指定操作系统应打开现有文件,打开文件的能力取决于FileAccess所指定的值,如果该文件不存在,则引发System.IO.FileNotFoundExcetion(文件找不到的异常)
OpenOrCreate 指定操作系统应打开文件,如果要打开的文件不存在,应创建新文件。如果用FileAccess.Read打开文件,则需要FileIOPermissionAccess.Read。如果文件访问方式为FileAccess.Write或FileAccess.ReadWrite,则需要FileIOPermissionAccess.Write;如果文件访问方式为FileAccess.Append,则需要FileIOpermissionAccess.Append
Truncate 指定操作系统应打开现有文件。文件一旦打开,将被截断为零字节。此操作需要FileIOPerimissionAccess .Write。试图从使用Truncate打开的文件中进行读取操作将导致异常

使用I/O数据流操作文本文件

主要使用的是StreamWriter类和StreamReader类

StreamWriter类是专门用来处理文本文件的类,StreamReader类是专门用来读取文本文件的类, 下面是一些它们的常用属性和方法:

1、StreamWriter类常用属性及说明

属性 说明
Encoding 获取将输出写入到其中的Encoding
Formatprovider 获取控制格式设置的对象
NewLine 获取或设置由当前TextWriter使用的行结束符字符串

2、StreamWriter类常用方法及说明

方法 说明
Close 关闭当前的StringWriter和基础流
Write 写入到到StringWriter的此实例中
WriteLine 写入到重载参数指定的某些数据,后跟行结束符

3、StreamReader类常用方法及说明

方法 说明
Close 关闭StringReader
Read 写入到到StringWriter的此实例中
ReadBlock 从当前流中读取最大count的字符并从index开始将该数据写入Buffer
ReadLine 从基础字符串中读取一行
ReadToEnd 将整个流或从流的当前位置到流的结尾作为字符串读取

猜你喜欢

转载自blog.csdn.net/qq_42437783/article/details/124486391
今日推荐