C#提取某一文件加下所有txt中的文件信息

来源:互联网 发布:北航软件培训中心 编辑:程序博客网 时间:2024/05/22 02:07

主要用到C#的 Directory File 和Path

调用messagebox要在在项目的引用中添加 system.windows.form

 

 static void Main(string[] args)        {             string dir;             string searchPattern = "20*.txt";             string dstDir;             string[] files;             StreamWriter swlog;             char []splitSign=",".ToCharArray();             string minmaxfile;             string logfile;             double minlon=180,maxlon=0,minlat=90,maxlat=0;                        if (args.Length == 2)             {                 dir = args[1];                          }             else             {                dir=Directory.GetCurrentDirectory();             }             if (!Directory.Exists(dir))             {                 MessageBox.Show("路径不存在!");                 return;                 //System.Enviroment.Exit();             }             else                 Console.WriteLine("正在处理的路径:\n"+dir);            dstDir = dir + "\\old";                       if (Directory.Exists(dstDir))            {                MessageBox.Show("txt数据已处理过,请确认是否需要重新处理!");                return;            }            else                  Directory.CreateDirectory(dstDir);            logfile= dir +"\\log.txt";            File.Create(logfile).Close();    //创建之后要关闭            swlog=File.AppendText(logfile);            minmaxfile = dir + "\\minmax.txt";            File.Create(minmaxfile).Close();            files=Directory.GetFiles(dir,searchPattern);            foreach (string file in files)            {                string filename = Path.GetFileName(file);                string dstfile = dstDir + "\\"+filename;                File.Copy(file, dstfile,false);                StreamReader sr = new StreamReader(dstfile);                string line = sr.ReadLine();                sr.Close();                string[] s = line.Split(splitSign);                StreamWriter sw = new StreamWriter(file);                sw.WriteLine(s[12].Trim()+" "+s[11].Trim());   //去掉开头和结尾的空格                sw.Close();                //计算最大最小lat纬度 lon经度                double lat=Convert.ToDouble(s[11]);                double lon=Convert.ToDouble(s[12]);                               minlat = (lat < minlat) ? lat : minlat;                maxlat = (lat > maxlat) ? lat : maxlat;                minlon = (lon < minlon) ? lon : minlon;                maxlon = (lon > maxlon) ? lon : maxlon;                swlog.WriteLine(s[12].Trim() + " " + s[11].Trim());                                       }            swlog.Close();


参考:

http://blog.csdn.net/zylc369/article/details/6578187

http://zhidao.baidu.com/question/169059065.html

C#递归读取目录里所有文件(包括子目录)及其文件操作

http://www.cnblogs.com/linckle/archive/2007/09/29/911208.html

msdnhttp://msdn.microsoft.com/zh-cn/library/3zc0w663(v=vs.80).aspx