世纪学堂网
云南招生考试信息第一咨讯平台
首页 校园 图书信息 研考招生 普高招生 成考招生 自考招生 中考招生 教师资格 公务员考试 事业单位 村官考试 信用社
人力资源 | 秘书 | 物流师 | 营销师 | 会计证 | 导游 | 医药考试 | 建筑考试 | 外贸考试 | 电脑认证 | 外语考试 | 司法考试
心理咨询师| 职业指导师 | 理财规划师| 电子商务 | 项目管理 | 物业管理 | 报关员 | 营养师 | 美容美发 | 驾校 | 培训| 动态
 
 
当前位置:首页 > 云南计算机等级考试 > 计算机综合认证考试 > 正文
用VisualC#实现文件大批量处理
来源: 时间:2008-05-26 作者:
在科研、企业的数据处理中,有时会涉及大量的文件操作。在大量数据处理的时侯,有时需要进行多对一,或一对多的文件操作,即多个数据文件与一个数据文件进行信息交互,Microsoft的.net开发利器C#提供了前所未有的高开发效率,在文件操作方面也有所体现。笔者基于.NET平台,以C#开发工具,实现了如下功能:

  1、多个文本文件合并成一个文件;

  2、一个电子表格文件分成多个文件。

  一、编程任务描述

  1、从多个文件中读取数据生成一个文本文件

  笔者是处理测井资料的时侯碰到这种编程需求,现有测井资料若干,每口井一个文件,为进一步处理现需要,将这些数据读到一新文件中去,在实际处理,当然包括一定的计算与筛选及格式化。

  多个源文件在源文件路径下,最终生成的目标文件存在在目标文件路径下。

  例子数据在sourcefile 文件夹下:1.bln,2.bln,3.bln,4,bln,5,bln,6.bln共六个文件,它们合并后生成的total.txt文件在aimfile子文件夹下。

  2、从一个文件中读数据,生成多个文本文件

  例子源文件是:xcsj.xls存放在aimfile文件夹下,其数据内容是:

井名 层位 细分小层号 层顶深度 层厚
13-10 S3中4 1 3263.5 1.5
13-10 S3中5 2 3311.6 1.6
… … …        

  其中多口井的数据在一个表格中,实际工作中需要将其中每口井的资料选出来生成一个独立的文件,文件后缀为.xc,存在目标文件路径下,生成文件的格式为:

井名 层位 细分小层号 层顶深度 层厚
13-10 S3中4 1 3263.5 1.5
13-10 S3中5 2 3311.6 1.6
… … …        


  生成的的目标文件13-10.xc等也存放在aimfile文件夹下。

  二、程序界面

  生成一个窗体,窗体上主要添加如下控件:

  1、三个按扭:一是合并文件; 一是文件拆分; 一是退出;

  2、一个列表框 用来显示程序执行情况

  3、两个文本框,分别用来输入源文件路径与目标文件路径;

  4、一个进度条,用来指示,程序的执行进度;

  程序界面如下:

三、源程序主要代码:

  1、名字空间

using System;using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
//使用StreamWriter与StreamReader必须加的Namespaceusing
System.Data.OleDb;
using System.Data.SqlClient;
//读电子表格文件必须加的Namespace

  2、文件合并按钮响应方法

string winDir1;
//源文件路径
string winDir2;
//目标文件路径
string temp1;
int ii;
winDir1=textBox1.Text.Trim();
winDir2=textBox2.Text.Trim()+"\\total.txt";
//获取winDir1路径下所有文件列表
string[] dirs = Directory.GetFiles(winDir1);
//建立或打开目标文件
StreamWriter writer = new StreamWriter(winDir2);
writer.WriteLine("这是汇总文件头");
writer.WriteLine("这是汇总文件第二行");
ii=0;
foreach(string dir in dirs)
{
 StreamReader reader=new StreamReader(dir);
 try
 {
  reader.ReadLine();
  do
  {
   temp1=reader.ReadLine();
   temp1=temp1.Trim();
   writer.WriteLine(temp1);
  }
  while(reader.Peek() != -1);
   ii=ii+1;
 } catch( Exception err)
 {
  MessageBox.Show(err.Message);
 }
 finally
 {
  reader.Close();
 }
}
addListItem("合并操作结束");
addListItem("本次操作共有"+ii.ToString()+"个文件合并到文件total.txt中去");
addListItem("total.txt文件存放位置为"+textBox2.Text);
writer.Close();

本文:用VisualC#实现文件大批量处理
  • 共2页:
  • 上一页
  • 1
  • 2
  • 下一页
  • 上一篇:如何自动移动Mouse   下一篇:2009年最新CCIE付费及实验面试介绍
    [返回顶部] [打印本页] [关闭窗口]  
    招生信息
    ·2010年昭通教师补员招聘考试培训课
    ·2011年中央机关国家公务员考试培训
    ·2010年昭通市事业单位招聘考试培训
    ·2010年云南省基层政法机关定向招录
    ·2010年云南省法检系统公务员面试培
    ·2010年大理市事业单位招聘考试培训
    ·2010年云南交通厅事业单位(第二期)
    ·昆明市面向全国公开选拔乡镇党委副
    ·2010年曲靖市非教育系统事业单位公
    ·云南省2010年会计从业资格证考试培
    ·2010年昆明市五华区教师招聘考试培
    ·2010年昆明市西山区教师招聘考试培
    ·2010年普洱市区的报名咨询电话是多
    ·2010年普洱市事业单位招聘考试培训
    ·2010年五华|盘龙|西山区教师招聘培
    ·2010年云南图强公务员面试培训课程
    ·2010年云南特岗教师考试培训课程安
    ·2010年云南省事业单位定向招聘考试
    ·2010年云南省基层政法机关定向招录
    ·2010年红河州事业单位考试培训课程

    最新资讯
    版权所有·世纪学堂网 滇ICP备10200824号
    Copygight © 2007-2008 www.ynexam.com All Rights Reserved.
    主办单位:世纪学堂网 指导单位:云南互联网联盟协会
    技术维护:世纪学堂网网络中心