.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;
        }
    }
}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值