zoukankan      html  css  js  c++  java
  • 【原创】C#认识/理解/运用 FileStream

    题记

    之前有写过认识/理解/运用BufferedStream的文章,今天继续分享有关FileStream的知识。

    正文

    FileStream 类对文件系统上的文件进行读取、写入、打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道、标准输入和标准输出。读写操作可以指定为同步或异步操作。FileStream类操作的是字节和字节数组。

            private static void FileStreamRead()
            {
                try
                {
                    //字节数组 用以接受FileStream对象中的数据
                    byte [] bs = new byte[5];//此处为了看效果
                    FileStream fs = new FileStream(@"E:/20120214.txt", FileMode.Open);
                    while (fs.Read(bs, 0, bs.Length) > 0)
                    {
                        //输出
                        //注: 字节转字符  new UTF8Encoding().GetString(bs)
                        Console.WriteLine(new UTF8Encoding().GetString(bs));
                    }
                }
                catch (IOException e)
                {
                    Console.WriteLine("发生异常");
                    Console.WriteLine(e.ToString());
                    Console.ReadLine();
                    return;
                }
            }

    程序运行截图:

    在上面的代码中,在创建FileStream对象的时候,类库提供了多种参数。下面以此解释

    1 FileStream fs = new FileStream(@"E:/20120214.txt", FileMode.Open);
    说明:使用上面一行代码,文件必须存在,否则会抛出异常。第3个参数不写,可以执行写,读操作

    2 FileStream fileStream = new FileStream(@"E:/20120214.txt", FileMode.Open, FileAccess.Read);
    说明:使用上面一行代码,文件必须存在,否则会抛出异常。第3个参数表示 读操作

    3 FileStream fileStream = new FileStream(@"E:/20120214.txt", FileMode.Open, FileAccess.Write);
    说明:使用上面一行代码,文件必须存在,否则会抛出异常。第3个参数表示 写操作

    补充:FileMode

    查看MSDN文档,可以发现这是个枚举类型,共有6个值。
    Append:(常用)        打开现有文件并查找到文件尾,或创建新文件。只能同 FileAccess.Write一起使用
    Create: (常用)         指定操作系统应创建新文件。如果文件已存在,它将被改写
    CreateNew:              指定操作系统应创建新文件。如果文件已存在,抛出异常
    Open:(常用)            指定操作系统应打开现有文件。打开文件的能力取决于FileAccess 所指定的值。如果该文件不存在,抛出异常
    OpenOrCreate:(常用)指定操作系统应打开文件(如果文件存在);否则,应创建新文件
    Truncate:                 指定操作系统应打开现有文件。文件一旦打开,就将被截断为零字节大小

    FileAccess 枚举类型,共有3个值。

    Read:对文件的读访问, 从文件中读取数据
    Write文件的写访问,将数据写入文件
    ReadWrite 对文件的读访问和写访问,从文件读取数据和将数据写入文件

  • 相关阅读:
    图像分割之Dense Prediction with Attentive Feature Aggregation
    与中文对齐的英文等宽字体
    管家订菜与Scrum流程
    说说自己在2014年的阅读思路
    Hello World
    Bootstrap实现轮播
    普通Apache的安装与卸载
    Python中OS模块
    Python中文件读写
    Python装饰器
  • 原文地址:https://www.cnblogs.com/zhxhdean/p/2355420.html
Copyright © 2011-2022 走看看