• 将多行文本以单行的格式保存起来 读和写 ini


    fef

    https://files.cnblogs.com/files/xe2011/WinAppINI20191226232153.rar


    /* 2019年12月26日 22:31:38
      * [info]
      *  group = a,b,c,d
      *
      *   需求 修改ini配置信息的group值
      *  
      *   1添加:
      *      往group中添加一个值
      *   2移除:
      *      从group中的值移除一个值
      *   3重命名:
      *      查找,找到修改
      *  
      *    1 读取group的值,把它转换成一个字符串数组,
      *      移除所有空行,把数组重新添加到一个列表中,行为空则不添加
      *     添加: 将要添加的值添加到列表中
      *       将列表转换成一行的字符串,行与行之间用 都好隔开
      *      
      *      
      *    2  读取group的值,把它转换成一个字符串数组,
      *       移除所有空行,把数组重新添加到一个列表中,行为空则不添加 
      *     删除:  判断列表中是否有 要删除的值,有就删除掉,没有不操作
      *       将列表转换成一行的字符串,行与行之间用 都好隔开
      *   
      *
      */

            //读行的文本 到 列表
            /// <summary>
            /// aaa,dfd,hhh,,ff,hello ->转换成  列表   同时删除空行
            /// </summary>
            /// <param name="text"> aaa,dfd,hhh,,ff,hello</param>
            /// <returns></returns>
            public static List<string> ReadString(string text) {
                List<string> lst = new List<string>();
                //读行的文本 到 列表
                string[] arr = text.Split(',');
                if (arr.Length > 0)
                {
                    lst.Clear();
                    for (int i = 0 ; i < arr.Length ; i++)
                    {
                        string s = arr[i].Trim();
                        if (s.Length > 0)     //不添加空行 //移除所有的空的行
                            lst.Add(s);
                    }
                }
                else
                {
                    lst.Add(text);
                }
                return lst;
            }
    
    
            /// <summary>
            /// 
            /// </summary>
            /// <param name="resString"> aaa,dfd,hhh,,ff,hello 源字符串</param>
            /// <param name="addString">要添加的字符串</param>
            public static string AddString(string resString,string addString) {
                //读行的文本 到 列表
                //[添加]
                //保存
                List<string> list = ReadString(resString);
                string findString = addString.Trim();
                if (list.IndexOf(findString) ==-1)
                {
                    list.Add(findString);
                }
    
                //转换成一行文本
                resString = string.Join(",", list.ToArray());
                if (resString.EndsWith(","))
                    resString = resString.Substring(0, resString.Length - 1);
                return resString;
            }
    
            public static string RemoveString(string resString, string findString) {
                //读行的文本 到 列表
                //[删除]
                //保存
    
                if (resString.Contains(","))
                {
                    findString = findString.Trim();
                    List<string> list = ReadString(resString);
                    if (list.IndexOf(findString) != -1)//存在
                    {
                        list.Remove(findString);
                    }
                    //转换成一行文本
                    resString = string.Join(",", list.ToArray());
                    if (resString.EndsWith(","))
                        resString = resString.Substring(0, resString.Length - 1);
                    return resString;
                }
                else
                {
                    return resString.Replace(findString, "");
                }
            }
    
    
            public static string RenameString(string resString, string findString,string newName) {
                //读行的文本 到 列表
                //[删除]
                //重命名
                if (resString.Contains(","))
                {
                    findString = findString.Trim();
                    List<string> list = ReadString(resString);
                    int index = list.IndexOf(findString);
                    if (index != -1)//存在
                    {
                        if (list.IndexOf(newName) == -1)    //重命名后,不和已有的成员不能重名
                        {
                            list[index] = newName;
                        }
                    }
                    //转换成一行文本
                    resString = string.Join(",", list.ToArray());
                    if (resString.EndsWith(","))
                        resString = resString.Substring(0, resString.Length - 1);
                    return resString;
                }
                else
                {
                    return resString.Replace(findString, newName);
                }
            }
    
            private void button删除_Click(object sender, EventArgs e) {
                textBox1.Text = RemoveString(textBox1.Text, textBox2.Text);
            }
    
            private void button添加_Click(object sender, EventArgs e) {
                textBox1.Text = AddString(textBox1.Text, textBox2.Text);
            }
    
            private void button重命名_Click(object sender, EventArgs e) {
                textBox1.Text = RenameString(textBox1.Text, textBox2.Text,textBox3.Text);
            }
  • 相关阅读:
    刷新页面的问题
    JS属性
    1-4_基本概念_进程间通信及同步
    1-3_基本概念_程序&进程
    1-2_基本概念_用户和组&目录、链接及文件
    1-1_基本概念_内核&shell
    d 操作系统概述
    对比生成测试算法用例
    简单的排序算法:冒泡排序法
    简单的排序算法:插入排序法
  • 原文地址:https://www.cnblogs.com/xe2011/p/12105093.html
Copyright © 2020-2023  润新知