c# FileStream函数的FileMode参数中的其中一个枚举值OpenOrCreate的说明是啥意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# FileStream函数的FileMode参数中的其中一个枚举值OpenOrCreate的说明是啥意思?相关的知识,希望对你有一定的参考价值。
=======================
指定操作系统应打开文件(如果文件存在);否则,应创建新文件。如果用 FileAccess.Read 打开文件,则需要
FileIOPermissionAccess.Read。如果文件访问为 FileAccess.Write 或 FileAccess.ReadWrite,则需要
FileIOPermissionAccess.Write。如果文件访问为 FileAccess.Append,则需要 FileIOPermissionAccess.Append。
==========================
这是OpenOrCreate的说明 后面那三个“如果”是什么意思?
FileIOPermissionAccess有6个枚举,其中有三个是(就是这三种权限):
Read 从文件或目录中读取的访问权限。
Write 写入或删除文件或目录的访问权限。Write 访问权限包括对文件和目录的删除和覆盖。
Append 向文件或目录追加内容的访问权限。Append 访问权限包括创建新的文件和目录的能力。追问
那怎样获得FileIOPermissionAccess.Write和FileIOPermissionAccess.Read权限
追答有些是不需要你来获得权限的,因为本来就没有参数,如新创一个filestream对象:FileStream s2 = new FileStream(name, FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read);
但是有些需要:FileIOPermission.SetPathList 方法 (FileIOPermissionAccess, String)
例子:fileIOPerm1.SetPathList(FileIOPermissionAccess.Write, "C:\\documents");
FileIOPermissionAccess有6个枚举,其中有三个是(就是这三种权限):
Read 从文件或目录中读取的访问权限。
Write 写入或删除文件或目录的访问权限。Write 访问权限包括对文件和目录的删除和覆盖。
Append 向文件或目录追加内容的访问权限。Append 访问权限包括创建新的文件和目录的能力。 参考技术B FileAccess.Read 表示打开进行读操作
FileAccess.Write 或 FileAccess.ReadWrite 表示打开进行写或读写操作
FileAccess.Append 表示打开进行附加操作
OpenOrCreate表示打开文件如果文件不存在就创建
C#中的IO流操作(FileStream)
StreamReader和StreamWriter适用于对文本文件的操作,因为它是以字符为单位进行的操作
不用担心编码问题
using (Stream s = new FileStream(@"C:\Users\qq\Desktop\新建文件夹\HTML\qq.txt", FileMode.Open, FileAccess.Read)) using (StreamReader r = new StreamReader(s, Encoding.Default)) //读取流中的文本 { string str; while ((str = r.ReadLine()) != null) //每次读取一行,当读取的内容为null是,读取完成 { Console.WriteLine(str); } }
FileStream
他是以字节对文件的读写操作的
using (Stream s = new FileStream(@"C:\Users\qq\Desktop\新建文件夹\HTML\qq.txt", FileMode.Open)) using (Stream w = new FileStream(@"C:\Users\qq\Desktop\新建文件夹\HTML\yzk.txt", FileMode.Create)) { // s.CopyTo(w); //复制文件 byte[] b = new byte[10]; int len = 0; while ((len = s.Read(b, 0, b.Length)) > 0) //每次读取的数据放到b数组中 { //Console.WriteLine(Encoding.Default.GetString(b,0,b.Length)); w.Write(b, 0, b.Length); //把数组中的数据写入新的文件中 } }
以上是关于c# FileStream函数的FileMode参数中的其中一个枚举值OpenOrCreate的说明是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
C# 使用从 FileStream 创建的 StreamWriter 覆盖文件
ASP.NET 使用 FileStream (FileMode.Open) 读取 xml -> System.UnauthorizedAccessException