BaseSplitter.cs
资源名称:2.rar [点击查看]
上传用户:hshongkong
上传日期:2021-11-20
资源大小:10241k
文件大小:2k
源码类别:

多国语言处理

开发平台:

C#

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.IO;
  5. namespace ChineseSplitter
  6. {
  7.     /// <summary>
  8.     /// 中文切割基类
  9.     /// </summary>
  10.     public abstract class BaseSplitter
  11.     {
  12.         /// <summary>
  13.         /// 切割字符串
  14.         /// </summary>
  15.         /// <param name="inputStr">待切割字符串</param>
  16.         /// <returns>切割结果</returns>
  17.         public abstract string Split(string inputStr);
  18.         /// <summary>
  19.         /// 切割文件
  20.         /// </summary>
  21.         /// <param name="textPath">文件路径</param>
  22.         /// <returns>切割结果</returns>
  23.         public string Split(FileInfo textPath)
  24.         { 
  25.             return Split(textPath , Encoding.Default);
  26.         }
  27.         /// <summary>
  28.         /// 切割文件
  29.         /// </summary>
  30.         /// <param name="textPath">文件路径</param>
  31.         /// <param name="textEncoding">文件编码</param>
  32.         /// <returns>切割结果</returns>
  33.         public string Split(FileInfo textPath, Encoding textEncoding)
  34.         {
  35.             string fileText = "";
  36.             try
  37.             {
  38.                 FileStream myStream = textPath.Open(FileMode.Open);
  39.                 StreamReader myReader = new StreamReader(myStream, textEncoding);
  40.                 fileText = myReader.ReadToEnd();
  41.             }
  42.             catch (Exception ex)
  43.             {
  44.                 throw ex;
  45.             }
  46.             return Split(fileText);
  47.         }
  48.         /// <summary>
  49.         /// 释放内存
  50.         /// </summary>
  51.         public abstract void Dispose();
  52.     }
  53. }