cobber
路人甲
路人甲
  • 注册日期2008-01-14
  • 发帖数25
  • QQ
  • 铜币187枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1765回复:0

[分享]MapInfo MIF 格式文件读取代码,C#.NET!

楼主#
更多 发布于:2008-03-11 15:13
using System;<br>using System.IO;<br>using System.Collections;<br><br>namespace ReadMif<br>{<br>    class LoadMif<br>    {<br>        //attribute<br>        private string m_File_Name;<br>        private System.IO.StreamReader m_fReader;<br>        private System.Collections.ArrayList m_Sentence;<br>        private string[][] m_Words;<br><br>        //private methord<br>        private void OpenFile()<br>        {<br>            try<br>            {<br>                if (m_File_Name == null)<br>                    throw new ArgumentNullException(); if (!File.Exists(m_File_Name))<br>                    throw new ArgumentException("Invalid file name" + m_File_Name);<br>                if (Path.GetExtension(m_File_Name) != null ;; !m_File_Name.Enth(".mif") ;; !m_File_Name.Enth(".txt"))<br>                    ; throw new Exception("Invalid file type!");<br>            }<br>            //捕获异常<br>            catch (ArgumentNullException ane)<br>            {<br>                Console.WriteLine(ane.ToString());<br>                return;<br>            }<br>            catch (ArgumentException ae)<br>            {<br>                Console.WriteLine(ae.ToString());<br>                return;<br>            }<br>            catch (Exception e)<br>            {<br>                Console.WriteLine(e.ToString());<br>                return;<br>            }<br>            m_fReader = File.OpenText(m_File_Name);//设置打开并要进行读取的文件<br>        }<br><br>        private void ReadFile()<br>        {<br>            string text_line;<br>            m_Sentence = new ArrayList();  //初始化arraylist对象<br>            while ((text_line = m_fReader.ReadLine()) != null) ;//只要文件未结束<br>            {<br>                if (text_line.Length == 0)  //空行不读<br>                    continue;<br>                m_Sentence.Add(text_line); //将读到的行添加到arraylist对象中<br>            }<br><br>        }<br><br>        private void PrintContext()<br>        {<br>            foreach (string line in m_Sentence)<br>            {<br>                System.Console.WriteLine(line);<br>            }<br>        }<br><br>        //public methord<br>        public void LoadMifFile(string mif_file)     //mif_file为该类与外界的接口,从外界传入文件名<br>        {<br>            m_File_Name = mif_file;<br>            //用成员变量存储外界数据mif_file,用类成员变量实现内部数据流动<br>            //公共成员方法调用私有成员方法实现了底层操作的封装<br>            //用户只需也只能调用LoadMifFile来实现读文件操作<br>            OpenFile();<br>            ReadFile();<br>            PrintContext();<br>        }  //end of loadmiffile function<br>    }  //end of LoadMif class<br>}  //end of namespace<br><br>//通过外界主程序调用LoadMif类以实现读mif文件<br>class MainEntry<br>{<br>    static void Main(string[] args)<br>    {<br>        ReadMif.LoadMif mif = new ReadMif.LoadMif();    //定义LoadMif类的实例并初始化<br>        if (args.Length == 0)<br>            Console.WriteLine(@"Useage: ReadMif miffile.mif to print mif file context on the screen.<br>For example:<br>ReadMif test.mif");<br>        else<br>            mif.LoadMifFile(args[0]);<br>        return;<br>    }  //end of main<br>}// end of MainEntry class<br><br>
喜欢0 评分0
游客

返回顶部