首页 > 编程 > C# > 正文

C#文件操作类分享

2020-01-24 00:36:13
字体:
来源:转载
供稿:网友

本文实例为大家分享了C#文件操作类的具体代码,供大家参考,具体内容如下

using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Reflection;using System.Collections;using System.Data.Common;namespace DotNet.Utilities{ //JSON转换类 public class ConvertJson { #region 私有方法 /// <summary> /// 过滤特殊字符 /// </summary> private static string String2Json(String s) {  StringBuilder sb = new StringBuilder();  for (int i = 0; i < s.Length; i++)  {  char c = s.ToCharArray()[i];  switch (c)  {   case '/"':   sb.Append("///""); break;   case '//':   sb.Append("////"); break;   case '/':   sb.Append("///"); break;   case '/b':   sb.Append("//b"); break;   case '/f':   sb.Append("//f"); break;   case '/n':   sb.Append("//n"); break;   case '/r':   sb.Append("//r"); break;   case '/t':   sb.Append("//t"); break;   default:   sb.Append(c); break;  }  }  return sb.ToString(); } /// <summary> /// 格式化字符型、日期型、布尔型 /// </summary> private static string StringFormat(string str, Type type) {  if (type == typeof(string))  {  str = String2Json(str);  str = "/"" + str + "/"";  }  else if (type == typeof(DateTime))  {  str = "/"" + str + "/"";  }  else if (type == typeof(bool))  {  str = str.ToLower();  }  else if (type != typeof(string) && string.IsNullOrEmpty(str))  {  str = "/"" + str + "/"";  }  return str; } #endregion #region List转换成Json /// <summary> /// List转换成Json /// </summary> public static string ListToJson<T>(IList<T> list) {  object obj = list[0];  return ListToJson<T>(list, obj.GetType().Name); } /// <summary> /// List转换成Json  /// </summary> public static string ListToJson<T>(IList<T> list, string jsonName) {  StringBuilder Json = new StringBuilder();  if (string.IsNullOrEmpty(jsonName)) jsonName = list[0].GetType().Name;  Json.Append("{/"" + jsonName + "/":[");  if (list.Count > 0)  {  for (int i = 0; i < list.Count; i++)  {   T obj = Activator.CreateInstance<T>();   PropertyInfo[] pi = obj.GetType().GetProperties();   Json.Append("{");   for (int j = 0; j < pi.Length; j++)   {   Type type = pi[j].GetValue(list[i], null).GetType();   Json.Append("/"" + pi[j].Name.ToString() + "/":" + StringFormat(pi[j].GetValue(list[i], null).ToString(), type));   if (j < pi.Length - 1)   {    Json.Append(",");   }   }   Json.Append("}");   if (i < list.Count - 1)   {   Json.Append(",");   }  }  }  Json.Append("]}");  return Json.ToString(); } #endregion #region 对象转换为Json /// <summary>  /// 对象转换为Json  /// </summary>  /// <param name="jsonObject">对象</param>  /// <returns>Json字符串</returns>  public static string ToJson(object jsonObject) {  string jsonString = "{";  PropertyInfo[] propertyInfo = jsonObject.GetType().GetProperties();  for (int i = 0; i < propertyInfo.Length; i++)  {  object objectValue = propertyInfo[i].GetGetMethod().Invoke(jsonObject, null);  string value = string.Empty;  if (objectValue is DateTime || objectValue is Guid || objectValue is TimeSpan)  {   value = "'" + objectValue.ToString() + "'";  }  else if (objectValue is string)  {   value = "'" + ToJson(objectValue.ToString()) + "'";  }  else if (objectValue is IEnumerable)  {   value = ToJson((IEnumerable)objectValue);  }  else  {   value = ToJson(objectValue.ToString());  }  jsonString += "/"" + ToJson(propertyInfo[i].Name) + "/":" + value + ",";  }  jsonString.Remove(jsonString.Length - 1, jsonString.Length);  return jsonString + "}"; } #endregion #region 对象集合转换Json /// <summary>  /// 对象集合转换Json  /// </summary>  /// <param name="array">集合对象</param>  /// <returns>Json字符串</returns>  public static string ToJson(IEnumerable array) {  string jsonString = "[";  foreach (object item in array)  {  jsonString += ToJson(item) + ",";  }  jsonString.Remove(jsonString.Length - 1, jsonString.Length);  return jsonString + "]"; } #endregion #region 普通集合转换Json /// <summary>  /// 普通集合转换Json  /// </summary>  /// <param name="array">集合对象</param>  /// <returns>Json字符串</returns>  public static string ToArrayString(IEnumerable array) {  string jsonString = "[";  foreach (object item in array)  {  jsonString = ToJson(item.ToString()) + ",";  }  jsonString.Remove(jsonString.Length - 1, jsonString.Length);  return jsonString + "]"; } #endregion #region DataSet转换为Json /// <summary>  /// DataSet转换为Json  /// </summary>  /// <param name="dataSet">DataSet对象</param>  /// <returns>Json字符串</returns>  public static string ToJson(DataSet dataSet) {  string jsonString = "{";  foreach (DataTable table in dataSet.Tables)  {  jsonString += "/"" + table.TableName + "/":" + ToJson(table) + ",";  }  jsonString = jsonString.TrimEnd(',');  return jsonString + "}"; } #endregion #region Datatable转换为Json /// <summary>  /// Datatable转换为Json  /// </summary>  /// <param name="table">Datatable对象</param>  /// <returns>Json字符串</returns>  public static string ToJson(DataTable dt) {  StringBuilder jsonString = new StringBuilder();  jsonString.Append("[");  DataRowCollection drc = dt.Rows;  for (int i = 0; i < drc.Count; i++)  {  jsonString.Append("{");  for (int j = 0; j < dt.Columns.Count; j++)  {   string strKey = dt.Columns[j].ColumnName;   string strValue = drc[i][j].ToString();   Type type = dt.Columns[j].DataType;   jsonString.Append("/"" + strKey + "/":");   strValue = StringFormat(strValue, type);   if (j < dt.Columns.Count - 1)   {   jsonString.Append(strValue + ",");   }   else   {   jsonString.Append(strValue);   }  }  jsonString.Append("},");  }  jsonString.Remove(jsonString.Length - 1, 1);  jsonString.Append("]");  return jsonString.ToString(); } /// <summary> /// DataTable转换为Json  /// </summary> public static string ToJson(DataTable dt, string jsonName) {  StringBuilder Json = new StringBuilder();  if (string.IsNullOrEmpty(jsonName)) jsonName = dt.TableName;  Json.Append("{/"" + jsonName + "/":[");  if (dt.Rows.Count > 0)  {  for (int i = 0; i < dt.Rows.Count; i++)  {   Json.Append("{");   for (int j = 0; j < dt.Columns.Count; j++)   {   Type type = dt.Rows[i][j].GetType();   Json.Append("/"" + dt.Columns[j].ColumnName.ToString() + "/":" + StringFormat(dt.Rows[i][j].ToString(), type));   if (j < dt.Columns.Count - 1)   {    Json.Append(",");   }   }   Json.Append("}");   if (i < dt.Rows.Count - 1)   {   Json.Append(",");   }  }  }  Json.Append("]}");  return Json.ToString(); } #endregion #region DataReader转换为Json /// <summary>  /// DataReader转换为Json  /// </summary>  /// <param name="dataReader">DataReader对象</param>  /// <returns>Json字符串</returns>  public static string ToJson(DbDataReader dataReader) {  StringBuilder jsonString = new StringBuilder();  jsonString.Append("[");  while (dataReader.Read())  {  jsonString.Append("{");  for (int i = 0; i < dataReader.FieldCount; i++)  {   Type type = dataReader.GetFieldType(i);   string strKey = dataReader.GetName(i);   string strValue = dataReader[i].ToString();   jsonString.Append("/"" + strKey + "/":");   strValue = StringFormat(strValue, type);   if (i < dataReader.FieldCount - 1)   {   jsonString.Append(strValue + ",");   }   else   {   jsonString.Append(strValue);   }  }  jsonString.Append("},");  }  dataReader.Close();  jsonString.Remove(jsonString.Length - 1, 1);  jsonString.Append("]");  return jsonString.ToString(); } #endregion }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表