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

原文地址:https://www.cnblogs.com/zhubinglong/p/5817559.html