• c#读取文本文档实践3-写入到文本本文档


    首先通过File.ReadAllLines()方法读入文本文档中内容并返回字符串数组contents,这样每行数据就成为了这个字符串数组contents的一个元素,再利用split()方法将每一个元素以空格或制表符分割,返回字符串数组,这样一行数据又被返回了3个字符串放入字符串数组中,通过Convert.ToDouble()方法将其转化为double类型并计算。创建一个StringBuilder数据类型将每行的字符串添加进去,转换为string后,最后用File.WriteAllText方法写入新建的文档。
    优点是简单,缺点是只能读入小文档

    ,空格或制表符间隔都行

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.IO;
     6 using System.Diagnostics;//Stopwatch所在命名空间
     7 
     8 namespace 书名总价格计算
     9 {
    10     class Program
    11     {
    12         static void Main(string[] args)
    13         {
    14             string path = @"C:UsersAdministratorDesktop书名总价格计算.txt";
    15             string[] contents = File.ReadAllLines(path, Encoding.Default);//将文档所有内容放入字符串数组中
    16             string[] strNew;
    17             string strResult;
    18 
    19             Stopwatch sw = new Stopwatch();//创建一个计时器方法
    20             sw.Start();//开始计时
    21             StringBuilder sb=new StringBuilder ();//创建sb
    22           
    23             for (int i = 0; i < contents.Length; i++)//从第二行开始
    24             {
    25                 if (i != 0)
    26                 {
    27                     strNew = contents[i].Split(new char[] { ' ', '	' }, StringSplitOptions.RemoveEmptyEntries);
    28                     Console.WriteLine("{0} {1} {2} {3}", strNew[0], strNew[1], strNew[2], Convert.ToDouble(strNew[1]) * Convert.ToDouble(strNew[2]));
    29                     sb.Append(strNew[0].ToString() + " " + strNew[1].ToString() + " " + strNew[2].ToString() + " " + (Convert.ToDouble(strNew[1]) * Convert.ToDouble(strNew[2])).ToString() + System.Environment.NewLine);
    30                 }
    31                 else//第一行题头不参与计算总价格
    32                 {
    33                     strNew = contents[i].Split(new char[] { ' ', '	' }, StringSplitOptions.RemoveEmptyEntries);
    34                     //将字符数组合并成一个字符串
    35                     //strResult=string.Join (" ", new string[] {strNew[0], strNew[1], strNew[2]});                    
    36                     //strResult = string.Join(" ", strNew);
    37                     //Console.WriteLine(strResult);
    38                     Console.WriteLine("{0} {1} {2} 总价格", strNew[0], strNew[1], strNew[2]);
    39                     sb.Append(strNew[0].ToString() + " " + strNew[1].ToString() + " " + strNew[2].ToString() + " 总价格" + System.Environment.NewLine);
    40                 }
    41             }
    42             Console.WriteLine(sb);
    43             //将sb这个字符串输出到新建的文本文档中
    44              File.WriteAllText (@"C:UsersAdministratorDesktop书名总价格计算结果.txt", sb.ToString() );
    45             sw.Stop();//结束计时,以毫秒输出
    46             Console.WriteLine(sw.ElapsedMilliseconds);//以毫秒形式输出结果
    47         }
    48     }
    49 }

    参考:http://blog.sina.com.cn/s/articlelist_2379298071_7_1.html

  • 相关阅读:
    js返回上一页并刷新思路
    C#字符串拼接
    html2canvas截图问题,图片跨域导致截图空白
    VS2017未能添加对"System.Drawing.dll"的引用
    微信小程序云开发获取文件夹下所有文件
    js解析json报错Unexpected token i in JSON at position 1
    人工智能学习
    suricata的模块和插槽
    学习助手开发(二)——表单排序
    成功在Caterpillar代码中插入事件对象-20200917
  • 原文地址:https://www.cnblogs.com/zhubinglong/p/5817559.html
Copyright © 2020-2023  润新知