Beispiel #1
0
 /// <summary>
 /// 在IP数组中是否包含该IP
 /// </summary>
 /// <param name="ip">验证IP</param>
 /// <param name="ipArray">IP集合</param>
 /// <returns></returns>
 public static bool InIPArray(string ip, string[] ipArray)
 {
     if (!string.IsNullOrEmpty(ip) && Validate.IsIP(ip))
     {
         string[] array = TextUtility.SplitStrArray(ip, ".");
         for (int i = 0; i < ipArray.Length; i++)
         {
             string[] array2 = TextUtility.SplitStrArray(ipArray[i], ".");
             int      num    = 0;
             for (int j = 0; j < array2.Length; j++)
             {
                 if (array2[j] == "*")
                 {
                     return(true);
                 }
                 if (array.Length <= j || array2[j] != array[j])
                 {
                     break;
                 }
                 num++;
             }
             if (num == 4)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
Beispiel #2
0
 /// <summary>
 /// 验证一个字符串数组里面是否包含一个字符串
 /// </summary>
 /// <param name="matchStr">一个字符串</param>
 /// <param name="originalStr">分割字符</param>
 /// <param name="separator">可以被分割字符分割的字符串</param>
 /// <returns>返回状态</returns>
 public static bool InArray(string matchStr, string originalStr, string separator)
 {
     string[] array = TextUtility.SplitStrArray(originalStr, separator);
     for (int i = 0; i < array.Length; i++)
     {
         if (matchStr == array[i])
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #3
0
        ///// <summary>
        ///// 跳转页面 (重定向)
        ///// </summary>
        ///// <param name="url">访问的网址</param>
        //public static void Redirect(string url)
        //{
        //	if (HttpContext.Current != null && !string.IsNullOrEmpty(url))
        //	{
        //		HttpContext.Current.Response.Redirect(url);
        //		HttpContext.Current.Response.StatusCode = 301;
        //		HttpContext.Current.Response.End();
        //	}
        //}

        ///// <summary>
        ///// 输出要下载的文件
        ///// </summary>
        ///// <param name="filepath">下载文件的路径</param>
        ///// <param name="filename">下载文件的名称</param>
        ///// <param name="filetype">设置输出流的 HTTP MIME 类型。</param>
        //public static void ResponseFile(string filepath, string filename, string filetype)
        //{
        //	if (HttpContextExtension.Current != null)
        //	{
        //		Stream stream = null;
        //		byte[] buffer = new byte[10000];
        //		try
        //		{
        //			stream = new FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
        //			long num = stream.Length;
        //			HttpContextExtension.Current.Response.ContentType = filetype;
        //			HttpContextExtension.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + Utility.UrlEncode(filename.Trim()).Replace("+", " "));
        //			while (num > 0L)
        //			{
        //				if (HttpContextExtension.Current.Response.IsClientConnected)
        //				{
        //					int num2 = stream.Read(buffer, 0, 10000);
        //					HttpContextExtension.Current.Response.OutputStream.Write(buffer, 0, num2);
        //					HttpContextExtension.Current.Response.Flush();
        //					buffer = new byte[10000];
        //					num -= (long)num2;
        //				}
        //				else
        //				{
        //					num = -1L;
        //				}
        //			}
        //		}
        //		catch (Exception ex)
        //		{
        //			HttpContextExtension.Current.Response.Write("Error : " + ex.Message);
        //		}
        //		finally
        //		{
        //			if (stream != null)
        //			{
        //				stream.Close();
        //			}
        //		}
        //		HttpContextExtension.Current.Response.End();
        //	}
        //}

        /// <summary>
        /// 查找指定目录下的所有.htm后缀的文件并返回字符串编码是UTF-8的文件路径
        /// </summary>
        /// <param name="directory">指定的目录,绝对路径</param>
        /// <returns>返回是UTF-8格式的.htm路径</returns>
        public static string[] SearchUTF8File(string directory)
        {
            StringBuilder stringBuilder = new StringBuilder();

            FileInfo[] files = new DirectoryInfo(directory).GetFiles();
            for (int i = 0; i < files.Length; i++)
            {
                if (files[i].Extension.ToLower().Equals(".htm"))
                {
                    FileStream fileStream = new FileStream(files[i].FullName, FileMode.Open, FileAccess.Read);
                    bool       flag       = Utility.IsUTF8(fileStream);
                    fileStream.Close();
                    if (!flag)
                    {
                        stringBuilder.Append(files[i].FullName);
                        stringBuilder.Append("\r\n");
                    }
                }
            }
            return(TextUtility.SplitStrArray(stringBuilder.ToString(), "\r\n"));
        }
Beispiel #4
0
 /// <summary>
 /// 在数组中
 /// </summary>
 /// <param name="matchStr">匹配字符串</param>
 /// <param name="strArray">字符串数组</param>
 /// <param name="separator">分离器</param>
 /// <param name="ignoreCase">是否忽略大小写</param>
 /// <returns></returns>
 public static bool InArray(string matchStr, string strArray, string separator, bool ignoreCase)
 {
     return(TextUtility.InArray(matchStr, TextUtility.SplitStrArray(strArray, separator), ignoreCase));
 }