• .Net 中操作文本文件


    一 、写入文本

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    
    namespace PlaceUsingTxt
    {
        public class ClassWriteTxt
        {
            public ClassWriteTxt(string url)
            {
                TxtUrl = url;
                fs = new FileStream(TxtUrl, FileMode.Create, FileAccess.ReadWrite);
                sw = new StreamWriter(fs);
            }
    
            public void close()
            {
                sw.Close();
                fs.Close();
            }
    
            protected string TxtUrl;
            protected FileStream fs;
            protected StreamWriter sw;
    
            public void TxtToBegin()
            {
                sw.BaseStream.Seek(0, SeekOrigin.Begin);
            }
    
            public void TxtToEnd()
            {
                sw.BaseStream.Seek(0, SeekOrigin.End);
            }
    
            public void WriteLineIntoTxt(string s)
            {
                sw.WriteLine(s);
                sw.Flush();
            }
    
            public void WriteIntoTxt(string s)
            {
                sw.Write(s);
                sw.Flush();
            }
    
        }
    }

    二 读文本

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    
    namespace PlaceUsingTxt
    {
        public class ClassReadTxt
        {
            public ClassReadTxt(string url)
            {
                TxtUrl = url;
                fs = new FileStream(TxtUrl, FileMode.Open, FileAccess.ReadWrite);
                sr = new StreamReader(fs);
            }
    
            public void close()
            {
                sr.Close();
                fs.Close();
            }
    
            protected string TxtUrl;
            protected FileStream fs;
            protected StreamReader sr;
    
            public void TxtToBegin()
            {
                sr.BaseStream.Seek(0, SeekOrigin.Begin);
            }
    
            public void TxtToEnd()
            {
                sr.BaseStream.Seek(0, SeekOrigin.End);
            }
    
            //逐行读取文本,存于动态数组arraylist中
            public System.Collections.ArrayList ReadTxtIotoArray()
            {
                System.Collections.ArrayList arr = new System.Collections.ArrayList();
    
                while (sr.Peek() > 0)
                {
                    arr.Add(sr.ReadLine());
                }
    
                return arr;
            }
    
            //将array赋给string二维数组,适用于逗号分割的且上下对齐的文本
            public string[,] OutStr2D()
            {
                this.TxtToBegin();
                System.Collections.ArrayList arr = this.ReadTxtIotoArray();
                int RowCount = arr.Count;
                if (RowCount == 0)
                {
                    return null;
                }
               
                //取得文本列数
                string[] strtest = arr[0].ToString().Split(',');
                int ColumnCount = strtest.Length;
    
                string[,] s = new string[RowCount,ColumnCount];
                for (int i = 1; i <= RowCount ; i++)
                {
                    string[] stest = arr[i - 1].ToString().Split(',');
                    for (int j = 1; j <= ColumnCount; j++)
                    {
                        s[i - 1, j - 1] = stest[j - 1];
                    }
                }
    
                return s;
            }
        }
    }
    




  • 相关阅读:
    2-4 Vue中的属性绑定和双向数据绑定
    MySQL索引失效的几种情况
    MySQL索引失效的几种情况
    Linux实现MYSQl数据库的定时备份
    Linux实现MYSQl数据库的定时备份
    你还在 Select * 吗?
    你还在 Select * 吗?
    世界顶级的程序员们告诉你:这些书都是你应该读的
    世界顶级的程序员们告诉你:这些书都是你应该读的
    真正努力和不努力的程序员,发朋友圈究竟有什么不一样?
  • 原文地址:https://www.cnblogs.com/silyvin/p/9106929.html
Copyright © 2020-2023  润新知