• 使用FileStream修改txt中的内容


    首先了解一下FileStream的概念

    FileStream对象表示在磁盘或网络路径上指向文件的流,FileStream类操作的是字节和字节数组。

    还有几种方法可以创建FileStream对象。构造函数具有许多不同的重载版本,最简单的构造函数仅仅带有两个参数,即文件名和FileMode枚举值。

    FileStream fs = new FileStream(strfile, FileMode.Member);

    FileStream常用的属性:

    CanRead 判断当前流是否支持读取,返回bool值,True表示可以读取
    CanWrite 判断当前流是否支持写入,返回bool值,True表示可以写入

    FileStream常用的方法:

    Read()

    从流中读取数据,返回字节数组
    Write() 将字节块(字节数组)写入该流
    Seek() 设置文件读取或写入的起始位置
    Flush() 清除该流缓冲区,使得所有缓冲的数据都被写入到文件中

    Close()

    关闭当前流并释放与之相关联的所有系统资源

     文件打开模式FileMode枚举成员如下:

    成   员   存 在 文件不存在
    Append 打开文件,流指向文件的末尾,只能与枚举FileAccess.Write联合使用 创建一个新文件。只能与枚举FileAccess.Write联合使用
    Create 删除该文件,然后创建新文件 创建新文件
    CreateNew 抛出异常 创建新文件
    Open 打开现有的文件,流指向文件的开头 抛出异常
    OpenOrCreate 打开文件,流指向文件的开头 创建新文件
    Truncate 打开现有文件,清除其内容。流指向文件的开头,保留文件的初始创建日期 抛出异常

    文件的访问方式:(FileAccess)

    FileAccess.Read 对文件读访问                                                                   
    FileAccess.Write 对文件进行写操作
    FileAccess.ReadWrite 对文件读或写操作

    文件位置SeekOrigin枚举成员如下:

    Begin 指定流的开头。
    Current 指定流内的当前位置。 
    End 指定流的结尾。

    下面以一个修改txt文件的第一行内容为例子:

      byte[] byData;
                    char[] charData;
    
                    FileStream aFile = new FileStream(System.Web.HttpContext.Current.Server.MapPath("text.txt"), FileMode.Create);
                    charData = "xxxxxx".ToCharArray();
                    byData = new byte[charData.Length];
                    Encoder e = Encoding.UTF8.GetEncoder();
                    e.GetBytes(charData, 0, charData.Length, byData, 0, true);
    
                    aFile.Seek(0, SeekOrigin.Current);
                    aFile.Write(byData, 0, byData.Length);
                    aFile.Close();
                    aFile.Dispose();

    这个代码修改了代码中第一行指定字节长度的的数据

  • 相关阅读:
    书_Delphi
    20160226
    SVG_style_script
    辅助
    电影_Z
    Windows下软件调试
    20160221
    Qt5.3.2_vs10_发布时所需DLL的路径
    android intent 传数据
    android 消息机制
  • 原文地址:https://www.cnblogs.com/Cynosure/p/4236107.html
Copyright © 2020-2023  润新知