C#文件中的输入和输出

作者:张铭标

撰写时间:2019年6月 6日

C#中的文件输入,输出功能主要用到I/O类. I/O类主要是作用是创建,删除,读取,写入,关闭文件等操作.

下面列出一些System.IO命名空间中常用到的非抽象类:

I/O类:BinaryReader 主要作用:从二进制流读取原始数据.

I/O类:BinaryWriter 主要作用:以二进制格式写入原始数据.

I/O类:BufferedStream 主要作用:字节流的临时存储.

I/O类:Directory 主要作用: 有助于操作目录结构.

I/O类:DirectoryInfo 主要作用:用于对目录执行操作.

I/O类:DriveInfo 主要作用:提供驱动器的信息.

I/O类:File 主要作用:有助于处理文件.

I/O类:FileInfo 主要作用:用于对文件执行操作.

I/O类:FileStream 主要作用:用于文件中任何位置的读写.

I/O类:MemoryStream 主要作用:用于随机访问存储在内存中的数据流.

I/O类:Path 主要作用:对路径信息执行操作.

I/O类:StreamReader 主要作用:用于从字节流中读取字符.

I/O类:StreamWriter 主要作用:用于向一个流中写入字符.

I/O类:StringReader 主要作用:用于读取字符串缓冲区.

I/O类:StringWriter 主要作用:用于写入字符串缓冲区.

在System.IO命名空间中有一个叫做FileStream的类,这个类有助于文件的读写与关闭.要使用它首先需要创建一个FileStream对象来创建一个新的文件,或打开一个已有的文件.创建FileStream对象的语法如下:

FileStream <object_name> = new FileStream(
<file_name>,

, , );

例如,创建一个 FileStream 对象 F 来读取名为 sample.txt 的文件:

FileStream F = new
FileStream(“sample.txt”, FileMode.Open, FileAccess.Read,
FileShare.Read);

其中FileMode,FileAccess和FileShare这三个参数的主要功能描述如下:

FileMode: FileMode 枚举定义了各种打开文件的方法。FileMode 枚举的成员有:

Append:打开一个已有的文件,并将光标放置在文件的末尾。如果文件不存在,则创建文件。

Create:创建一个新的文件。如果文件已存在,则删除旧文件,然后创建新文件。

CreateNew:指定操作系统应创建一个新的文件。如果文件已存在,则抛出异常。

Open:打开一个已有的文件。如果文件不存在,则抛出异常。

OpenOrCreate:指定操作系统应打开一个已有的文件。如果文件不存在,则用指定的名称创建一个新的文件打开。

Truncate:打开一个已有的文件,文件一旦打开,就将被截断为零字节大小。然后我们可以向文件写入全新的数据,但是保留文件的初始创建日期。如果文件不存在,则抛出异常。

FileAccess:

FileAccess
枚举的成员有:Read、ReadWrite 和
Write。

FileShare:

FileShare
枚举的成员有:

Inheritable:允许文件句柄可由子进程继承。Win32 不直接支持此功能。

None:谢绝共享当前文件。文件关闭前,打开该文件的任何请求(由此进程或另一进程发出的请求)都将失败。

Read:允许随后打开文件读取。如果未指定此标志,则文件关闭前,任何打开该文件以进行读取的请求(由此进程或另一进程发出的请求)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。

ReadWrite:允许随后打开文件读取或写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行读取或写入的请求(由此进程或另一进程发出)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。

Write:允许随后打开文件写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行写入的请求(由此进程或另一进过程发出的请求)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。

Delete:允许随后删除文件。

注:部分内容参考W3Cshool
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值