/// <summary>
        /// 	Opens a StreamReader using the specified encoding.
        /// </summary>
        /// <param name="stream">The stream.</param>
        /// <param name="encoding">The encoding.</param>
        /// <returns>The stream reader</returns>
        public static StreamReader GetReader(this Stream stream, Encoding encoding)
		{
			if (!stream.CanRead)
			{
				throw new InvalidOperationException("Stream does not support reading.");
			}

			return encoding.IsNull()
				? new StreamReader(stream, true)
				: new StreamReader(stream, encoding);
		}
Example #2
0
 /// <summary>
 /// Base64解密
 /// </summary>
 /// <param name="decryptString">密文</param>
 /// <param name="encoding">编码</param>
 /// <returns>明文</returns>
 public static string Base64Decode(this string decryptString, Encoding encoding = null) {
     byte[] decbuff = Convert.FromBase64String(decryptString);
     return (encoding.IsNull() ? System.Text.Encoding.UTF8 : encoding).GetString(decbuff);
 }
Example #3
0
 /// <summary>
 /// 写日志 线程安全
 /// </summary>
 /// <param name="fileName">文件</param>
 /// <param name="str">消息</param>
 /// <param name="encoding">编码</param>
 private static bool WriteForFileStream(string fileName, string str, Encoding encoding = null) {
     bool _isTrue = false;
     if (encoding.IsNull()) encoding = Encoding.Default;
     lock (lockHelper) {
         using (FileStream fs = FileDirectory.FileExists(fileName) ? File.OpenWrite(fileName) : File.Create(fileName)) {
             byte[] bt = encoding.IfNull(Encoding.UTF8).GetBytes(str + Environment.NewLine);
             fs.Seek(0, SeekOrigin.End);
             fs.Write(bt, 0, bt.Length);
             _isTrue = true;
         }
     }
     return _isTrue;
 }
Example #4
0
 public static string Base64Encode(this string encryptString, Encoding encoding = null) {
     byte[] encbuff = (encoding.IsNull() ? System.Text.Encoding.UTF8 : encoding).GetBytes(encryptString);
     return Convert.ToBase64String(encbuff);
 }
Example #5
0
 /// <summary>
 /// 写日志 线程安全
 /// </summary>
 /// <param name="fileName">文件</param>
 /// <param name="str">消息</param>
 /// <param name="encoding">编码</param>
 private static bool WriteForStreamWriter(string fileName, string str, Encoding encoding = null) {
     bool _isTrue = false;
     if (encoding.IsNull()) encoding = Encoding.Default;
     lock (lockHelper) {
         using (System.IO.StreamWriter f2 = new System.IO.StreamWriter(fileName, true, encoding.IfNull(Encoding.UTF8))) { f2.WriteLine(str); _isTrue = true; }
     }
     return _isTrue;
 }