首页 > 代码库 > c#读取文本文档实践3-写入到文本本文档
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 Program11 {12 static void Main(string[] args)13 {14 string path = @"C:\Users\Administrator\Desktop\书名总价格计算.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 ();//创建sb22 23 for (int i = 0; i < contents.Length; i++)//从第二行开始24 {25 if (i != 0)26 {27 strNew = contents[i].Split(new char[] { ‘ ‘, ‘\t‘ }, 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[] { ‘ ‘, ‘\t‘ }, 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:\Users\Administrator\Desktop\书名总价格计算结果.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
c#读取文本文档实践3-写入到文本本文档
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。