首页 > 编程语言 >C# 文件的第一行最后一行添加内容

C# 文件的第一行最后一行添加内容

时间:2022-12-09 13:47:02浏览次数:67  
标签:第一行 string C# sw prefix 添加 new IsNullOrEmpty suffix

static void AddFileFix(string fileFullName, string prefix, string suffix)
{
    try
    {
        if (string.IsNullOrEmpty(prefix) && string.IsNullOrEmpty(suffix))
        {
            return;
        }

        if (string.IsNullOrEmpty(prefix) && !string.IsNullOrEmpty(suffix))
        {
            FileStream fs_a = new FileStream(fileFullName, FileMode.Append);
            StreamWriter sw_a = new StreamWriter(fs_a);
            sw_a.Write(suffix);
            sw_a.Close();
            fs_a.Close();
            return;
        }

        char[] buffer = new char[10000];

        string renamedFile = fileFullName + ".orig";
        File.Move(fileFullName, renamedFile);

        using (StreamReader sr = new StreamReader(renamedFile))
        using (StreamWriter sw = new StreamWriter(fileFullName, false))
        {
            if (!string.IsNullOrEmpty(prefix))
                sw.Write(prefix);

            int read;
            while ((read = sr.Read(buffer, 0, buffer.Length)) > 0)
                sw.Write(buffer, 0, read);

            if (!string.IsNullOrEmpty(suffix))
                sw.Write(suffix);
        }

        File.Delete(renamedFile);
    }
    catch (Exception ex)
    {
        throw ex;
    }
}

参考:

https://qa.1r1g.com/sf/ask/70611971/

标签:第一行,string,C#,sw,prefix,添加,new,IsNullOrEmpty,suffix
From: https://www.cnblogs.com/huvjie/p/16968692.html

相关文章

  • C# 获取本地IP
    publicstringGetLocalIPStr(){stringlocalIP=string.Empty;using(Socketsocket=newSocket(AddressFamily.InterNetwork,SocketType.Dgram,0))......
  • 定时任务crontab
    1.各时间解释项目                含义                             ......
  • Centos 下配置linux源码阅读
    环境[root@linux-3.10.0-1160.49.1.el7.x86_64#]cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)[root@linux-3.10.0-1160.49.1.el7.x86_64#]uname-a......
  • oracle - 数据库版本说明
    1998年Oracle8i:i指internet,表示oracle向互联网发展,8i之前数据库只能对应1个实例2001年Oracle9i:8i的升级,性能更佳,管理更人性化2003年Oracle10g:g指grid,表示采用网格计算的......
  • javascript-代码随想录训练营day24
    77.组合题目链接:https://leetcode.cn/problems/combinations/题目描述:给定两个整数n和k,返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案......
  • Linux基础知识(11)- GCC 简单使用(一)| GCC 安装配置和 Makefile 的基本用法
    GCC的全拼为GNUCCompiler,即GUN计划诞生的C语言编译器,显然最初GCC的定位确实只用于编译C语言。但经过这些年不断的迭代,GCC的功能得到了很大的扩展,它不仅可以用......
  • Acrel-6000电气火灾监控在同济贵安医院(一期)建设项目的应用
    摘要:建筑电气火灾在建筑物火灾中占较大的比例,起火原因也很多,包括短路、过热、漏电、雷击和电气等故障,火灾危害也较大。因此,各种原因引起的火灾都应得到有效控制。目前,短路、......
  • 【win10】Typora+PicGo+node+gitee配置图床
    文章目录​​前言​​​​1.giitee设置​​​​设置私人令牌​​​​2.PicGo设置​​​​PicGo安装及安装环境配置​​​​配置PicGo​​​​设置日志文件​​​​配置git......
  • C语言学习入门
    编译文件:cc-cone.ctwo.c 生成.o目标文件链接文件:ccone.otwo.o   默认生成a.out执行文件指定生成的可执行文件名 cc-ooneone.o 连续编译、链接:ccone.c......
  • springboot项目搭建,访问controller接口失败
    错误表现:Thisapplicationhasnoexplicitmappingfor/error,soyouareseeingthisasafallback.在启动类上的注解:@EnableAutoConfiguration解决:使用这个注解......