C#常用标准函数库(持续更新中)

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections; //使用Arraylist
using System.Security.Cryptography;//加密解密
using System.IO;    //文件操作
using System.Management;  //获取硬件信息
using System.Net;       //获取IP地址是用到
using System.Text.RegularExpressions;   //正则
using System.Data;
using System.Data.SqlClient;
namespace 函数库
{
    //类型转换
    public class GF_Convert
    {
        /// 
        /// 字符串 转换 char数组
        /// 
        /// 
        /// 
        /// 
        public static char[] string2chararray(string in_str, int in_len)
        {
            char[] ch = new char[in_len];
            in_str.ToCharArray().CopyTo(ch, 0);
            return ch;
        }
        /// 
        /// 字符串 转换 byte数组  注意转换出来会使原来的bytearray长度变短
        /// 
        /// 
        /// 
        public static byte[] string2bytearray(string in_str)
        {
            return System.Text.Encoding.Default.GetBytes(in_str);
        }

        /// 
        /// 字符串 转换 byte数组  长度为传如的长度
        /// 
        /// 传入字符串
        /// 目标字节数组长度
        /// 
        public static byte[] string2bytearray(string in_str, int iLen)
        {
            byte[] bytes = new byte[iLen];
            byte[] bsources = System.Text.Encoding.Default.GetBytes(in_str);
            Array.Copy(bsources, bytes, bsources.Length);


            return bytes;
        }

        /// 
                /// 将字符串编码为Base64字符串
                /// 
                /// 
                /// 
        public static string Base64Encode(string str)
        {
            byte[] barray;
            barray = Encoding.Default.GetBytes(str);
            return Convert.ToBase64String(barray);
        }

        /// 
        /// 将Base64字符串解码为普通字符串
        /// 
        /// 
        /// 
        public static string Base64Decode(string str)
        {
            byte[] barray;
            try
            {
                barray = Convert.FromBase64String(str);
                return Encoding.Default.GetString(barray);
            }
            catch
            {
                return str;
            }
        }

        /// 
        /// 图片 转换 byte数组
        /// 
        /// 
        /// 
        /// 
        public static byte[] image_Image2Byte(Image pic, System.Drawing.Imaging.ImageFormat fmt)
        {
            MemoryStream mem = new MemoryStream();
            pic.Save(mem, fmt);
            mem.Flush();
            return mem.ToArray();
        }
        /// 
        /// byte数组 转换 图片
        /// 
        /// 
        /// 
        public static Image image_Byte2Image(byte[] bytes)
        {
            MemoryStream mem = new MemoryStream(bytes, true);
            mem.Read(bytes, 0, bytes.Length);
            mem.Flush();
            Image aa = Image.FromStream(mem);
            return aa;
        }

        /// 
                /// ip 转换 长整形
                /// 
                /// 
                /// 
        public static long IP2Long(string strIP)
        {

            long[] ip = new long[4];

            string[] s = strIP.Split('.');
            ip[0] = long.Parse(s[0]);
            ip[1] = long.Parse(s[1]);
            ip[2] = long.Parse(s[2]);
            ip[3] = long.Parse(s[3]);

            return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3];
        }

        /// 
        /// 长整形 转换 IP
        /// 
        /// 
        /// 
        public static string Long2IP(long longIP)
        {


            StringBuilder sb = new StringBuilder("");
            sb.Append(longIP >> 24);
            sb.Append(".");

            //将高8位置0,然后右移16为


            sb.Append((longIP & 0x00FFFFFF) >> 16);
            sb.Append(".");


            sb.Append((longIP & 0x0000FFFF) >> 8);
            sb.Append(".");

            sb.Append((longIP & 0x000000FF));


            return sb.ToString();
        }

        /// 
        /// 将8位日期型整型数据转换为日期字符串数据
        /// 
        /// 整型日期
        /// 是否以中文年月日输出
        /// 
        public static string FormatDate(int date, bool chnType)
        {
            string dateStr = date.ToString();

            if (date <= 0 || dateStr.Length != 8)
                return dateStr;

            if (chnType)
                return dateStr.Substring(0, 4) + "年" + dateStr.Substring(4, 2) + "月" + dateStr.Substring(6) + "日";

            return dateStr.Substring(0, 4) + "-" + dateStr.Substring(4, 2) + "-" + dateStr.Substring(6);
        }


        /// 
        /// string型转换为bool型
        /// 
        /// 要转换的字符串
        /// 缺省值
        /// 转换后的bool类型结果
        public static bool StrToBool(object expression, bool defValue)
        {
            if (expression != null)
                return StrToBool(expression, defValue);

            return defValue;
        }

        /// 
        /// string型转换为bool型
        /// 
        /// 要转换的字符串
        /// 缺省值
        /// 转换后的bool类型结果
        public static bool StrToBool(string expression, bool defValue)
        {
            if (expression != null)
            {
                if (string.Compare(expression, "true", true) == 0)
                    return true;
                else if (string.Compare(expression, "false", true) == 0)
                    return false;
            }
            return defValue;
        }

        /// 
        /// 将对象转换为Int32类型
        /// 
        /// 要转换的字符串
        /// 缺省值
        /// 转换后的int类型结果
        public static int ObjectToInt(object expression)
        {
            return ObjectToInt(expression, 0);
        }

        /// 
        /// 将对象转换为Int32类型
        /// 
        /// 要转换的字符串
        /// 缺省值
        /// 转换后的int类型结果
        public static int ObjectToInt(object expression, int defValue)
        {
            if (expression != null)
                return StrToInt(expression.ToString(), defValue);

            return defValue;
        }

        /// 
        /// 将对象转换为Int32类型,转换失败返回0
        /// 
        /// 要转换的字符串
        /// 转换后的int类型结果
        public static int StrToInt(string str)
        {
            return StrToInt(str, 0);
        }

        /// 
        /// 将对象转换为Int32类型
        /// 
        /// 要转换的字符串
        /// 缺省值
        /// 转换后的int类型结果
        public static int StrToInt(string str, int defValue)
        {
            if (string.IsNullOrEmpty(str) || str.Trim().Length >= 11 || !Regex.IsMatch(str.Trim(), @"^([-]|[0-9])[0-9]*(/./w*)?$"))
                return defValue;

            int rv;
            if (Int32.TryParse(str, out rv))
                return rv;

            return Convert.ToInt32(StrToFloat(str, defValue));
        }

        /// 
        /// string型转换为float型
        /// 
        /// 要转换的字符串
        /// 缺省值
        /// 转换后的int类型结果
        public static float StrToFloat(object strValue, float defValue)
        {
            if ((strValue == null))
                return defValue;

            return StrToFloat(strValue.ToString(), defValue);
        }

        /// 
        /// string型转换为float型
        /// 
        /// 要转换的字符串
        /// 缺省值
        /// 转换后的int类型结果
        public static float ObjectToFloat(object strValue, float defValue)
        {
            if ((strValue == null))
                return defValue;

            return StrToFloat(strValue.ToString(), defValue);
        }

        /// 
        /// string型转换为float型
        /// 
        /// 要转换的字符串
        /// 缺省值
        /// 转换后的int类型结果
        public static float ObjectToFloat(object strValue)
        {
            return ObjectToFloat(strValue.ToString(), 0);
        }

        /// 
        /// string型转换为float型
        /// 
        /// 要转换的字符串
        /// 转换后的int类型结果
        public static float StrToFloat(string strValue)
        {
            if ((strValue == null))
                return 0;

            return StrToFloat(strValue.ToString(), 0);
        }

        /// 
        /// string型转换为float型
        /// 
        /// 要转换的字符串
        /// 缺省值
        /// 转换后的int类型结果
        public static float StrToFloat(string strValue, float defValue)
        {
            if ((strValue == null) || (strValue.Length > 10))
                return defValue;

            float intValue = defValue;
            if (strValue != null)
            {
                bool IsFloat = Regex.IsMatch(strValue, @"^([-]|[0-9])[0-9]*(/./w*)?$");
                if (IsFloat)
                    float.TryParse(strValue, out intValue);
            }
            return intValue;
        }

        /// 
        /// 将对象转换为日期时间类型
        /// 
        /// 要转换的字符串
        /// 缺省值
        /// 转换后的int类型结果
        public static DateTime StrToDateTime(string str, DateTime defValue)
        {
            if (!string.IsNullOrEmpty(str))
            {
                DateTime dateTime;
                if (DateTime.TryParse(str, out dateTime))
                    return dateTime;
            }
            return defValue;
        }

        /// 
        /// 将对象转换为日期时间类型
        /// 
        /// 要转换的字符串
        /// 转换后的int类型结果
        public static DateTime StrToDateTime(string str)
        {
            return StrToDateTime(str, DateTime.Now);
        }

        /// 
        /// 将对象转换为日期时间类型
        /// 
        /// 要转换的对象
        /// 转换后的int类型结果
        public static DateTime ObjectToDateTime(object obj)
        {
            return StrToDateTime(obj.ToString());
        }

        /// 
        /// 将对象转换为日期时间类型
        /// 
        /// 要转换的对象
        /// 缺省值
        /// 转换后的int类型结果
        public static DateTime ObjectToDateTime(object obj, DateTime defValue)
        {
            return StrToDateTime(obj.ToString(), defValue);
        }

        /// 
        /// 替换回车换行符为html换行符
        /// 
        public static string StrFormat(string str)
        {
            string str2;

            if (str == null)
            {
                str2 = "";
            }
            else
            {
                str = str.Replace("/r/n", "
"); str = str.Replace("/n", "
"); str2 = str; } return str2; }         ///         /// 转换为简体中文         ///         public static string ToSChinese(string str) { return Strings.StrConv(str, VbStrConv.SimplifiedChinese, 0); }         ///         /// 转换为繁体中文         ///         public static string ToTChinese(string str) { return Strings.StrConv(str, VbStrConv.TraditionalChinese, 0); }         ///         /// 清除字符串数组中的重复项         ///         /// 字符串数组         /// 字符串数组中单个元素的最大长度         ///         public static string[] DistinctStringArray(string[] strArray, int maxElementLength) { Hashtable h = new Hashtable(); foreach (string s in strArray) { string k = s; if (maxElementLength > 0 && k.Length > maxElementLength) { k = k.Substring(0, maxElementLength); } h[k.Trim()] = s; } string[] result = new string[h.Count]; h.Keys.CopyTo(result, 0); return result; }         ///         /// 清除字符串数组中的重复项         ///         /// 字符串数组         ///         public static string[] DistinctStringArray(string[] strArray) { return DistinctStringArray(strArray, 0); } }     //加密解密     public class GF_Encrypt {         ///         /// DES加密         ///         /// 加密字符串         /// 密钥         ///         public static string string_Encrypt(string pToEncrypt, string sKey) { if (pToEncrypt == "") return ""; if (sKey.Length < 8) sKey = sKey + "xuE29xWp"; if (sKey.Length > 8) sKey = sKey.Substring(0, 8); DESCryptoServiceProvider des = new DESCryptoServiceProvider();             //把字符串放到byte数组中               //原来使用的UTF8编码,我改成Unicode编码了,不行               byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);             //建立加密对象的密钥和偏移量               //原文使用ASCIIEncoding.ASCII方法的GetBytes方法               //使得输入密码必须输入英文文本               des.Key = ASCIIEncoding.Default.GetBytes(sKey); des.IV = ASCIIEncoding.Default.GetBytes(sKey); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);             //Write  the  byte  array  into  the  crypto  stream               //(It  will  end  up  in  the  memory  stream)               cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock();             //Get  the  data  back  from  the  memory  stream,  and  into  a  string               StringBuilder ret = new StringBuilder(); foreach (byte b in ms.ToArray()) {                 //Format  as  hex                   ret.AppendFormat("{0:X2}", b); } ret.ToString(); return ret.ToString(); }         ///         /// DES解密         ///         /// 解密字符串         /// 解密密钥         /// 返回值         ///         public static bool string_Decrypt(string pToDecrypt, string sKey, out string outstr) { if (pToDecrypt == "") { outstr = ""; return true; }; if (sKey.Length < 8) sKey = sKey + "xuE29xWp"; if (sKey.Length > 8) sKey = sKey.Substring(0, 8); try { DESCryptoServiceProvider des = new DESCryptoServiceProvider();                 //Put  the  input  string  into  the  byte  array                   byte[] inputByteArray = new byte[pToDecrypt.Length / 2]; for (int x = 0; x < pToDecrypt.Length / 2; x++) { int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16)); inputByteArray[x] = (byte)i; }                 //建立加密对象的密钥和偏移量,此值重要,不能修改                   des.Key = ASCIIEncoding.Default.GetBytes(sKey); des.IV = ASCIIEncoding.Default.GetBytes(sKey); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);                 //Flush  the  data  through  the  crypto  stream  into  the  memory  stream                   cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock();                 //Get  the  decrypted  data  back  from  the  memory  stream                   //建立StringBuild对象,CreateDecrypt使用的是流对象,必须把解密后的文本变成流对象                   StringBuilder ret = new StringBuilder(); outstr = System.Text.Encoding.Default.GetString(ms.ToArray()); return true; } catch { outstr = ""; return false; } }         ///         /// 加密         ///         public class AES {             //默认密钥向量             private static byte[] Keys = { 0x41, 0x72, 0x65, 0x79, 0x6F, 0x75, 0x6D, 0x79, 0x53, 0x6E, 0x6F, 0x77, 0x6D, 0x61, 0x6E, 0x3F }; public static string Encode(string encryptString, string encryptKey) { encryptKey = GF_GET.GetSubString(encryptKey, 32, ""); encryptKey = encryptKey.PadRight(32, ' '); RijndaelManaged rijndaelProvider = new RijndaelManaged(); rijndaelProvider.Key = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 32)); rijndaelProvider.IV = Keys; ICryptoTransform rijndaelEncrypt = rijndaelProvider.CreateEncryptor(); byte[] inputData = Encoding.UTF8.GetBytes(encryptString); byte[] encryptedData = rijndaelEncrypt.TransformFinalBlock(inputData, 0, inputData.Length); return Convert.ToBase64String(encryptedData); } public static string Decode(string decryptString, string decryptKey) { try { decryptKey = GF_GET.GetSubString(decryptKey, 32, ""); decryptKey = decryptKey.PadRight(32, ' '); RijndaelManaged rijndaelProvider = new RijndaelManaged(); rijndaelProvider.Key = Encoding.UTF8.GetBytes(decryptKey); rijndaelProvider.IV = Keys; ICryptoTransform rijndaelDecrypt = rijndaelProvider.CreateDecryptor(); byte[] inputData = Convert.FromBase64String(decryptString); byte[] decryptedData = rijndaelDecrypt.TransformFinalBlock(inputData, 0, inputData.Length); return Encoding.UTF8.GetString(decryptedData); } catch { return ""; } } }         ///         /// 加密         ///         public class DES {             //默认密钥向量             private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };             ///             /// DES加密字符串             ///             /// 待加密的字符串             /// 加密密钥,要求为8位             /// 加密成功返回加密后的字符串,失败返回源串             public static string Encode(string encryptString, string encryptKey) { encryptKey = GF_GET.GetSubString(encryptKey, 8, ""); encryptKey = encryptKey.PadRight(8, ' '); byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8)); byte[] rgbIV = Keys; byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString); DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider(); MemoryStream mStream = new MemoryStream(); CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write); cStream.Write(inputByteArray, 0, inputByteArray.Length); cStream.FlushFinalBlock(); return Convert.ToBase64String(mStream.ToArray()); }             ///             /// DES解密字符串             ///             /// 待解密的字符串             /// 解密密钥,要求为8位,和加密密钥相同             /// 解密成功返回解密后的字符串,失败返源串             public static string Decode(string decryptString, string decryptKey) { try { decryptKey = GF_GET.GetSubString(decryptKey, 8, ""); decryptKey = decryptKey.PadRight(8, ' '); byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey); byte[] rgbIV = Keys; byte[] inputByteArray = Convert.FromBase64String(decryptString); DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider(); MemoryStream mStream = new MemoryStream(); CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write); cStream.Write(inputByteArray, 0, inputByteArray.Length); cStream.FlushFinalBlock(); return Encoding.UTF8.GetString(mStream.ToArray()); } catch { return ""; } } }         ///         /// MD5函数         ///         /// 原始字符串         /// MD5结果         public static string MD5(string str) { byte[] b = Encoding.UTF8.GetBytes(str); b = new MD5CryptoServiceProvider().ComputeHash(b); string ret = ""; for (int i = 0; i < b.Length; i++) ret += b[i].ToString("x").PadLeft(2, '0'); return ret; }         ///         /// SHA256函数         ///         /// /// 原始字符串         /// SHA256结果         public static string SHA256(string str) { byte[] SHA256Data = Encoding.UTF8.GetBytes(str); SHA256Managed Sha256 = new SHA256Managed(); byte[] Result = Sha256.ComputeHash(SHA256Data); return Convert.ToBase64String(Result);  //返回长度为44字节的字符串         }         ///         /// 返回 HTML 字符串的编码结果         ///         /// 字符串         /// 编码结果         public static string HtmlEncode(string str) { return HttpUtility.HtmlEncode(str); }         ///         /// 返回 HTML 字符串的解码结果         ///         /// 字符串         /// 解码结果         public static string HtmlDecode(string str) { return HttpUtility.HtmlDecode(str); }         ///         /// 返回 URL 字符串的编码结果         ///         /// 字符串         /// 编码结果         public static string UrlEncode(string str) { return HttpUtility.UrlEncode(str); }         ///         /// 返回 URL 字符串的编码结果         ///         /// 字符串         /// 解码结果         public static string UrlDecode(string str) { return HttpUtility.UrlDecode(str); } }     //硬件信息     public class GF_Hardware {         ///         /// cpu序列号         ///         ///         public static string getID_CpuId() { string cpuInfo = "";//cpu序列号             ManagementClass cimobject = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = cimobject.GetInstances(); foreach (ManagementObject mo in moc) { cpuInfo = mo.Properties["ProcessorId"].Value.ToString(); } return cpuInfo; }         ///         /// 硬盘ID号         ///         ///         public static string getID_HardDiskId() { string HDid = ""; ManagementClass cimobject = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection moc = cimobject.GetInstances(); foreach (ManagementObject mo in moc) { HDid = (string)mo.Properties["Model"].Value; } return HDid; }         ///         /// 获取网卡MacAddress         ///         ///         public static string getID_NetCardId() { string NCid = ""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { if ((bool)mo["IPEnabled"] == true) NCid = mo["MacAddress"].ToString(); mo.Dispose(); } return NCid; } }     //网络部分     public class GF_Network {         /*          * C#完整的通信代码(点对点,点对多,同步,异步,UDP,TCP)             * http://topic.csdn.net/u/20080619/08/dcef3fe2-f95b-4918-8edb-36d48a3d0528_2.html          *          */         ///         /// 获取IP地址 返回第一个         ///         ///         public static string getIP_This() { IPHostEntry hostInfo = Dns.GetHostEntry(Dns.GetHostName()); IPAddress[] address = hostInfo.AddressList; if (address.Length == 0) return ""; else return address[0].ToString(); }         ///         /// ping IP地址 timeout 局域网用200,广域网用2000         ///         /// IP地址         /// 超时 毫秒         ///         public static bool ping(string ip, int timeout) { IPAddress ipadd; if (!IPAddress.TryParse(ip, out ipadd)) { return false; } Ping pingSender = new Ping(); PingReply reply = pingSender.Send(ip, timeout, new Byte[] { Convert.ToByte(1) }); if (reply.Status == IPStatus.Success) return true; else return false; }         ///         /// 判读是否是IP地址         ///         ///         ///         public static bool IsIPStr(string in_str) { if (in_str.Replace(".", "").Length != in_str.Length - 3) return false; try { IPAddress ip = IPAddress.Parse(in_str); return true; } catch { return false; } } }     //判断部分     public class GF_IsOk {         ///         /// 判读是否是IP地址         ///         ///         ///         public static bool IsIPStr(string in_str) { IPAddress ip; return IPAddress.TryParse(in_str, out ip); }         ///         /// 判断是否是数字         ///         ///         ///         public static bool IsNumber(string strNumber) { Regex objNotNumberPattern = new Regex("[^0-9.-]"); Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*"); Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*"); String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$"; String strValidIntegerPattern = "^([-]|[0-9])[0-9]*$"; Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")"); return !objNotNumberPattern.IsMatch(strNumber) && !objTwoDotPattern.IsMatch(strNumber) && !objTwoMinusPattern.IsMatch(strNumber) && objNumberPattern.IsMatch(strNumber); } ///         ///  判断是否是日期字符串         ///         ///         /// public static bool IsDateStr_yyyymmdd(string in_str) { if (in_str == "") return true; if (in_str.Length != 8) return false; return IsDateStr(in_str); }         ///         /// 判断是否是日期字符串         ///         ///         ///         public static bool IsDateStr(string in_str) { if (in_str == "") return true; if (in_str.Length == 8) in_str = in_str.Substring(0, 4) + "-" + in_str.Substring(4, 2) + "-" + in_str.Substring(6, 2); DateTime dtDate; bool bValid = true; try { dtDate = DateTime.Parse(in_str); } catch (FormatException) {                 // 如果解析方法失败则表示不是日期性数据                 bValid = false; } return bValid; }         ///         /// 判断字符串中是否包含汉字,有返回true 否则为false         ///         ///         ///         public static bool IsExistHanZi(string str) { Regex reg = new Regex(@"[/u4e00-/u9fa5]");//正则表达式             if (reg.IsMatch(str)) { return true; } else { return false; } }         ///         /// 字段串是否为Null或为""(空)         ///         ///         ///         public static bool IsStrNullOrEmpty(string str) { if (str == null || str.Trim() == string.Empty) return true; return false; }         ///         /// 返回文件是否存在         ///         /// 文件名         /// 是否存在         public static bool IsFileExists(string filename) { return System.IO.File.Exists(filename); }         ///         /// 检测是否符合email格式         ///         /// 要判断的email字符串         /// 判断结果         public static bool IsValidEmail(string strEmail) { return Regex.IsMatch(strEmail, @"^[/w/.]+([-]/w+)*@[A-Za-z0-9-_]+[/.][A-Za-z0-9-_]"); } public static bool IsValidDoEmail(string strEmail) { return Regex.IsMatch(strEmail, @"^@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([/w-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)$"); }         ///         /// 检测是否是正确的Url         ///         /// 要验证的Url         /// 判断结果         public static bool IsURL(string strUrl) { return Regex.IsMatch(strUrl, @"^(http|https)/://([a-zA-Z0-9/./-]+(/:[a-zA-Z0-9/.&%/$/-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9/-]+/.)*[a-zA-Z0-9/-]+/.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{1,10}))(/:[0-9]+)*(/($|[a-zA-Z0-9/./,/?/'///+&%/$#/=~_/-]+))*$"); }         ///         /// 判断是否为base64字符串         ///         ///         ///         public static bool IsBase64String(string str) {             //A-Z, a-z, 0-9, +, /, =             return Regex.IsMatch(str, @"[A-Za-z0-9/+///=]"); }         ///         /// 检测是否有Sql危险字符         ///         /// 要判断字符串         /// 判断结果         public static bool IsSafeSqlString(string str) { return !Regex.IsMatch(str, @"[-|;|,|//|/(|/)|/[|/]|/}|/{|%|@|/*|!|/']"); } }     //文件操作     public class GF_File {         ///         /// 写日志文件         ///         ///     年月  例  2011-04         /// 月日  例  04-22         /// 时间+  内容         ///         public static bool WriteLog(string sPath, string sFileName, string content) { try { StreamWriter sr; if (!Directory.Exists(sPath)) { Directory.CreateDirectory(sPath); } string v_filename = sPath + "//" + sFileName; if (!File.Exists(v_filename)) //如果文件存在,则创建File.AppendText对象                 { sr = File.CreateText(v_filename); sr.Close(); } using (FileStream fs = new FileStream(v_filename, System.IO.FileMode.Append, System.IO.FileAccess.Write, System.IO.FileShare.Write)) { using (sr = new StreamWriter(fs)) { sr.WriteLine(DateTime.Now.ToString("hh:mm:ss") + "     " + content); sr.Close(); } fs.Close(); } return true; } catch { return false; } }         ///         /// 读取文本文件内容,每行存入arrayList 并返回arrayList对象         ///         ///         /// arrayList         public static ArrayList ReadFileRow(string sFileName) { string sLine = ""; ArrayList alTxt = null; try { using (StreamReader sr = new StreamReader(sFileName)) { alTxt = new ArrayList(); while (!sr.EndOfStream) { sLine = sr.ReadLine(); if (sLine != "") { alTxt.Add(sLine.Trim()); } } sr.Close(); } } catch { } return alTxt; }         ///         /// 备份文件         ///         /// 源文件名         /// 目标文件名         /// 当目标文件存在时是否覆盖         /// 操作是否成功         public static bool BackupFile(string sourceFileName, string destFileName, bool overwrite) { if (!System.IO.File.Exists(sourceFileName)) throw new FileNotFoundException(sourceFileName + "文件不存在!"); if (!overwrite && System.IO.File.Exists(destFileName)) return false; try { System.IO.File.Copy(sourceFileName, destFileName, true); return true; } catch (Exception e) { throw e; } }         ///         /// 备份文件,当目标文件存在时覆盖         ///         /// 源文件名         /// 目标文件名         /// 操作是否成功         public static bool BackupFile(string sourceFileName, string destFileName) { return BackupFile(sourceFileName, destFileName, true); }         ///         /// 恢复文件         ///         /// 备份文件名         /// 要恢复的文件名         /// 要恢复文件再次备份的名称,如果为null,则不再备份恢复文件         /// 操作是否成功         public static bool RestoreFile(string backupFileName, string targetFileName, string backupTargetFileName) { try { if (!System.IO.File.Exists(backupFileName)) throw new FileNotFoundException(backupFileName + "文件不存在!"); if (backupTargetFileName != null) { if (!System.IO.File.Exists(targetFileName)) throw new FileNotFoundException(targetFileName + "文件不存在!无法备份此文件!"); else System.IO.File.Copy(targetFileName, backupTargetFileName, true); } System.IO.File.Delete(targetFileName); System.IO.File.Copy(backupFileName, targetFileName); } catch (Exception e) { throw e; } return true; } public static bool RestoreFile(string backupFileName, string targetFileName) { return RestoreFile(backupFileName, targetFileName, null); } }     //其他部分     public class GF_Other { } }

你可能感兴趣的:(C#学习栏)