现在的位置: 首页 > 综合 > 正文

c#读mif文件及txt文件代码

2012年11月27日 ⁄ 综合 ⁄ 共 2166字 ⁄ 字号 评论关闭

作者/收集者:wiserish

开发环境:C#

代码:

c#读mif文件及txt文件代码
using System;
using System.IO;
using System.Collections;

namespace ReadMif
{
     class LoadMif
     {
         //attribute
         private string m_File_Name;
         private System.IO.StreamReader m_fReader;     
         private System.Collections.ArrayList m_Sentence;
         private string[][] m_Words;    
  
        //private methord
        private void OpenFile()
       {
             try
             {
if (m_File_Name==null)  
      throw new ArgumentNullException();
if (!File.Exists(m_File_Name))  
                     throw new ArgumentException("Invalid file name"+m_File_Name);
if (Path.GetExtension(m_File_Name)!=null&&!m_File_Name.EndsWith(".mif")&&!m_File_Name.EndsWith(".txt"))          throw new Exception("Invalid file type!");
        }
//捕获异常
catch (ArgumentNullException ane)
{
      Console.WriteLine(ane.ToString());
      return;
}
catch (ArgumentException ae)
{
      Console.WriteLine(ae.ToString());
      return;
}
catch (Exception e)
{
                     Console.WriteLine(e.ToString());
      return;
}
m_fReader=File.OpenText(m_File_Name);//设置打开并要进行读取的文件
     }

       private void ReadFile()
       {
string text_line;
m_Sentence=new ArrayList();   //初始化arraylist对象
while ((text_line=m_fReader.ReadLine())!=null);//只要文件未结束
{
      if (text_line.Length==0)   //空行不读
          continue;
      m_Sentence.Add(text_line); //将读到的行添加到arraylist对象中
}

     }

     private void PrintContext()
     {
foreach(string line in m_Sentence)
{
      System.Console.WriteLine(line);
}
     }

     //public methord
     public void LoadMifFile(string mif_file)      //mif_file为该类与外界的接口,从外界传入文件名
   {
       m_File_Name=mif_file;
                 //用成员变量存储外界数据mif_file,用类成员变量实现内部数据流动
//公共成员方法调用私有成员方法实现了底层操作的封装
//用户只需也只能调用LoadMifFile来实现读文件操作
       OpenFile();
       ReadFile();
       PrintContext();
   }   //end of loadmiffile function
}   //end of LoadMif class
}   //end of namespace

//通过外界主程序调用LoadMif类以实现读mif文件
class MainEntry
{
     static void Main(string[] args)
     {
         ReadMif.LoadMif mif=new ReadMif.LoadMif();     //定义LoadMif类的实例并初始化
         if (args.Length==0)
Console.WriteLine(@"Useage: ReadMif miffile.mif to print mif file context     on the screen.
For example:
ReadMif test.mif");
         else
             mif.LoadMifFile(args[0]);
         return;
   }   //end of main
}// end of MainEntry class

 

抱歉!评论已关闭.