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

,空格或制表符间隔都行

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Diagnostics;//Stopwatch所在命名空间 namespace 书名总价格计算
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\Administrator\Desktop\书名总价格计算.txt";
string[] contents = File.ReadAllLines(path, Encoding.Default);//将文档所有内容放入字符串数组中
string[] strNew;
string strResult; Stopwatch sw = new Stopwatch();//创建一个计时器方法
sw.Start();//开始计时
StringBuilder sb=new StringBuilder ();//创建sb for (int i = ; i < contents.Length; i++)//从第二行开始
{
if (i != )
{
strNew = contents[i].Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine("{0} {1} {2} {3}", strNew[], strNew[], strNew[], Convert.ToDouble(strNew[]) * Convert.ToDouble(strNew[]));
sb.Append(strNew[].ToString() + " " + strNew[].ToString() + " " + strNew[].ToString() + " " + (Convert.ToDouble(strNew[]) * Convert.ToDouble(strNew[])).ToString() + System.Environment.NewLine);
}
else//第一行题头不参与计算总价格
{
strNew = contents[i].Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);
//将字符数组合并成一个字符串
//strResult=string.Join (" ", new string[] {strNew[0], strNew[1], strNew[2]});
//strResult = string.Join(" ", strNew);
//Console.WriteLine(strResult);
Console.WriteLine("{0} {1} {2} 总价格", strNew[], strNew[], strNew[]);
sb.Append(strNew[].ToString() + " " + strNew[].ToString() + " " + strNew[].ToString() + " 总价格" + System.Environment.NewLine);
}
}
Console.WriteLine(sb);
//将sb这个字符串输出到新建的文本文档中
File.WriteAllText (@"C:\Users\Administrator\Desktop\书名总价格计算结果.txt", sb.ToString() );
sw.Stop();//结束计时,以毫秒输出
Console.WriteLine(sw.ElapsedMilliseconds);//以毫秒形式输出结果
}
}
}

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

c#读取文本文档实践3-写入到文本本文档的更多相关文章

  1. c#读取文本文档实践4-读入到list泛型集合计算后写入新文档

    商品 数量 单价英语 66 100语文 66 80数学 66 100化学 66 40物理 66 60 上面截图是要处理的文本文档内容,目的是计算出总价并加在最后一列. 这一篇与上一篇比较类似,目的相同 ...

  2. 编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中

    查看本章节 查看作业目录 需求说明: 读取文本文档的内容,去除文本中包含的"广告"字样,把更改后的内容保存到一个新的文本文档中 实现思路: 在main() 方法中,使用 new F ...

  3. 读取XML文档结构并写入内容

    1.在项目中新建XML文档结构.xsd文件,在其中添加相应的节点. 2.读取文档结构并写入内容 string initFileName = @"D:\Config.xml"; Da ...

  4. AJAX实现简单的读取文本文档内容到网页--AJAX

    效果图: Demo.html: <!DOCTYPE html><html lang="en"><head> <meta charset=& ...

  5. 解决Spring的java项目打包后执行出现“无法读取方案文档...“、“原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是...”问题

    问题 一个用Spring建的java项目,在Eclipse或idea中运行正常,为什么打包后运行出现如下错误呢? 2019/07/10/19:04:07 WARN [main] org.springf ...

  6. C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表

    调用word的com组件将400条数据导入word表格中耗时10分钟简直不能忍受,使用NPOI组件耗时4秒钟.但是NPOI中替换书签内容的功能不知道是不支持还是没找到. 辅助类 Excel表格数据与D ...

  7. php 读取文件头判断文件类型的实现代码

    php代码实现读取文件头判断文件类型,支持图片.rar.exe等后缀. 例子: <?php $filename = "11.jpg"; //为图片的路径可以用d:/uploa ...

  8. java 读取CSV数据并写入txt文本

    java 读取CSV数据并写入txt文本 package com.vfsd; import java.io.BufferedWriter; import java.io.File; import ja ...

  9. python读取、写入txt文本内容

    转载:https://blog.csdn.net/qq_37828488/article/details/100024924 python常用的读取文件函数有三种read().readline().r ...

随机推荐

  1. Redhat 6.4_联网 yum 配置

    步骤简述----------------------------------------------------------------- 1. 准备软件包 下载第三步的软件包即可.由于是联网yum配 ...

  2. Working with Data » 使用Visual Studio开发ASP.NET Core MVC and Entity Framework Core初学者教程

    原文地址:https://docs.asp.net/en/latest/data/ef-mvc/intro.html The Contoso University sample web applica ...

  3. 为设计师准备的 20 个新的免费 PSD 模板

    设计师们每天的工作经常要用到各种模板,本文推荐 20 个新的免费 PSD 模板,可节省设计时间. Blueprint Notice PSD Wooden Drawer Icon Minimal Clo ...

  4. nodeschool.io 3

    ~~ MY FIRST I/O! ~~ Write a program that uses a single synchronous filesystem operation toread a fil ...

  5. BliBli抢楼全攻略

    B站抢楼是一个很好玩的事情,每当新番出新集时.总有很多人想能够在前排发表评论,但是因为人数众多,往往不能如愿,今天就教大家一个抢楼的好办法. 我们平时抢楼的整个流程是这样的: 1.在官方放出的新番更新 ...

  6. Maven基础知识和环境搭建

    基本概念和生命周期 Maven是现在流行的构建自动化工具,提供了软件构建过程中全生命周期的管理. 基础目录结构 基础目录结构如下: 根目录:存放pom.xml 和所有的子目录 ${basedir}/s ...

  7. NOR FLASH与NAND FLASH的区别

    NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面.紧接着,1989年,东芝公司发表了 ...

  8. 318. Maximum Product of Word Lengths ——本质:英文单词中字符是否出现可以用26bit的整数表示

    Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the tw ...

  9. matlab c# 混合编程

    MWArray错误: matlab 64位 vs 32位 1. visual studio没有专门的64位版.但32位版可以在64位系统上面正常使用.2.安装VS2010的时候,在安装选项里面,选择了 ...

  10. 推荐10款非常优秀的 HTML5 开发工具

      HTML5 发展如火如荼,随着各大浏览器对 HTML5 技术支持的不断完善以及 HTML5 技术的不断成熟,未来 HTML5 必将改变我们创建 Web 应用程序的方式.今天这篇文章向大家推荐10款 ...