C#文件的读取及字符串的分割读取

一、文件的读取

当读取的文件的不多时,且都是一次将文本内容读取完,可以使用:

1.File.ReadAllText(FilePath),指定编码方式时 File.ReadAllText(FilePath,Encoding)的方法返回一个包含全部文本内容的字符串。

2.File.ReadAllLines(FilePath),指定编码方式时 File.ReadAllLines(FilePath,Encoding)的方法返回一个字符串数组。

当读取的文件内容较多时,并且不要把文件内容一次读完时,我们应该采用流(Stream)的方式来读取内容,初始化StreamReader类有很多方式。

1.StreamReader(FilePath),指定编码方式时 StreamReader(FilePath,Encoding)的方法。

2.StreamReader(FileStream),指定编码方式时 StreamReader(FileStream,Encoding)的方法。

3.File.OpenText(FilePath),FileInfo.OpenText()。

以上初始化完成之后,可以每次读一行,也可以每次读一个字符后者几个字符,也可以一次全部读完。

二、字符串的分割读取

用StreamReader来读取文件内容时,有时需要按行按类型进行读取,例如这样的文件内容的读取:

这个文件的内容很简单,但需要按行按类型进行读取和存储,这里可以用Split来分割读取和存储,并按行以数组的形式来存储,具体的代码如下图所示:

static void Main(string[] args)
        {
            ReadFile();
            Console.ReadKey();
        }

        static void ReadFile()
        {
            string filename = "D:\\2345Downloads\\C#的学习\\临时文件\\Demo\\BL1.txt";
            var reader = new StreamReader(filename);
            string buf = reader.ReadLine();
            int[] number=new int[4];
            string[] siteName=new string[4];
            double[] B=new double[4];
            double[] L=new double[4];
            for (int i = 0; i < 4; i++)
            {
                buf = reader.ReadLine();
                var arr = buf.Split(' ');
                number[i] = int.Parse(arr[0]);
                siteName[i] = arr[1];
                B[i] = double.Parse(arr[2]);
                L[i] = double.Parse(arr[3]);
                Console.WriteLine("{0}  {1}  {2}  {3}",number[i], siteName[i],B[i],L[i]);
            }
            reader.Read();
        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值