首页 > 其他分享 >文件流 FileStream

文件流 FileStream

时间:2022-10-21 11:26:13浏览次数:54  
标签:文件 读取 FileStream 创建 FileMode 打开

FileStream 类

System.IO 命名空间中的 FileStream 类有助于文件的读写与关闭。该类派生自抽象类 Stream。

您需要创建一个 FileStream 对象来创建一个新的文件,或打开一个已有的文件。创建 FileStream 对象的语法如下:

FileStream <object_name> = new FileStream( <file_name>,
<FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);

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

 

  //文件路径,打开的方式,文件的读取,限定随后文件操作

FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
参数描述
FileMode

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

  • Append:打开一个已有的文件,并将光标放置在文件的末尾。如果文件不存在,则创建文件。
  • Create:创建一个新的文件。如果文件已存在,则删除旧文件,然后创建新文件。
  • CreateNew:指定操作系统应创建一个新的文件。如果文件已存在,则抛出异常。
  • Open:打开一个已有的文件。如果文件不存在,则抛出异常。
  • OpenOrCreate:指定操作系统应打开一个已有的文件。如果文件不存在,则用指定的名称创建一个新的文件打开。
  • Truncate:打开一个已有的文件,文件一旦打开,就将被截断为零字节大小。然后我们可以向文件写入全新的数据,但是保留文件的初始创建日期。如果文件不存在,则抛出异常。
FileAccess

FileAccess 枚举的成员有:ReadReadWrite 和 Write

FileShare

FileShare 枚举的成员有:

  • Inheritable:允许文件句柄可由子进程继承。Win32 不直接支持此功能。
  • None:谢绝共享当前文件。文件关闭前,打开该文件的任何请求(由此进程或另一进程发出的请求)都将失败。
  • Read:允许随后打开文件读取。如果未指定此标志,则文件关闭前,任何打开该文件以进行读取的请求(由此进程或另一进程发出的请求)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
  • ReadWrite:允许随后打开文件读取或写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行读取或写入的请求(由此进程或另一进程发出)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
  • Write:允许随后打开文件写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行写入的请求(由此进程或另一进过程发出的请求)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。
  • Delete:允许随后删除文件。

实例

下面的程序演示了 FileStream 类的用法:

实例

using System;
using System.IO;

namespace FileIOApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream F = new FileStream("test.dat",
            FileMode.OpenOrCreate, FileAccess.ReadWrite);

            for (int i = 1; i <= 20; i++)
            {
                F.WriteByte((byte)i);
            }

            F.Position = 0;

            for (int i = 0; i <= 20; i++)
            {
                Console.Write(F.ReadByte() + " ");
            }
            F.Close();
            Console.ReadKey();
        }
    }
}

当上面的代码被编译和执行时,它会产生下列结果:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1

标签:文件,读取,FileStream,创建,FileMode,打开
From: https://www.cnblogs.com/CS-ComputerScience/p/16812821.html

相关文章

  • vi编辑器更改文件编码以及模式类型
    ​        作为一名正经运维,我们可能会遇到原文件的编码或者文件模式类型在我们的服务器上无法运行的情况,导致脚本失败甚至无法运行报错的问题,下面说一下检查以及......
  • python文件处理
    使用os模块,打开文件后去除后缀1defcsv2txt()2forfilenameinfilelist:3f=open("%s"%filename,"r")4dest_filename=os.path.splitext......
  • 拷贝或者传输不想拷贝某文件夹命令
    不同机器远程传输文件,在本地拷贝ip是11的机器上面文件。这里不需要拷贝文件夹caffe-jacinto-sparse-deconv-new下面的文件夹0000和.build_releasersync-avp--exclude......
  • ttf是什么文件格式?ttf文件怎么打开方法
    http://g.pconline.com.cn/x/895/8956417.html.ttf文件是字体文件,当电脑里有时自带的字体文件不能满足我们编辑的需要,这时就要我们下载一些字体文件,随着windows的流行,已经......
  • linux—— 文件
    linux——文件别名1、如何查看别名设置alias别名aliascp='cp-i'aliasmv='mv-i'aliasrm='rm-i'-i如要⼈为交互,有提示信息问题:如何⾮交互的覆盖原......
  • 解决找不到xml或yml文件
    <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • FileChooser文件保存样例
    FileChooserfc=newFileChooser();fc.setTitle("请选择文件保存位置");fc.setInitialDirectory($原始文件位置$);//桌面位置privatefinalstaticFilehomeDirecto......
  • django迁移文件的问题
    如果数据库中已经有需要通过迁移文件才能生成的数据表,在再执行迁移文件生成的话会提示已经有这个库了方案1:删除数据表或数据库方案2:找到数据库中django_migrations......
  • Linux系统文件相关命令
    系统优化相关性能优化安全优化编码优化1)了解⾃⼰的系统情况cat/etc/redhat-releaseuname-r/-a/-n/-s/...#详⻅下图2)在系统中创建⽤户信息创建⽤户use......
  • Linux下定期清空被正在运行服务占用的日志文件
    linux下定期删除日志:运用linux下的whiletrue循环,加上echo"">***.log完成while:;do#echo"">nohup.out#ls"dir"-lR|grep-v^d|awk'{print$9}'|tr-s'......