static public class MyFile{...}
目录
2.GetPaths_ScreeningPath 获取路径:文件路径过滤集合
4.GetFiles_Speite 获取文件:精灵图片批量读取
6.GetFiles_Texture2D 获取文件:图片批量读取
7.GetFile_JsonObject 获取文件: 把Json文件变成类
8.SetFile_JsonObject 写入文件:把类变成json文件
9.SetFile_JsonObject_Format 写入文件:把类变成json文件(缩进格式)
10.Json_ToJson 将对象转换成json(封装LitJson)
11.Json_ToObject 将json转换成对象(封装LitJson)
12.If_JsonString 判断字符串是否为json格式
13.String_Conversion 乱码转换:用于解决LitJson把类转换成string时出现的乱码
14.String_jsonFormat 格式转换:将Json缩进整理,用于查看
1.GetPaths 获取路径:获取文件夹中所有文件路径
/// <summary>
/// 获取路径:获取文件夹中所有文件路径
/// </summary>
/// <param name="Path"></param>
/// <returns></returns>
static public List<string> GetPaths(string Path)
{
List<string> Paths = new List<string>();
DirectoryInfo info = new DirectoryInfo(Path);//获取路径文件夹文件
FileInfo[] infos = info.GetFiles();//获取所有文件名
foreach (FileInfo file in infos)//遍历每个文件
{
Paths.Add(Path + "/" + file.Name);//存入链表
}
return Paths;
}
2.GetPaths_ScreeningPath 获取路径:文件路径过滤集合
/// <summary>
/// 获取路径:文件路径过滤集合
/// </summary>
/// <param name="Path">路径集合</param>
/// <param name="type">后戳名</param>
/// <returns>文件路径集合</returns>
static public List<string> GetPaths_ScreeningPath(List<string> Paths, string type)
{
List<string> ScreeningPaths = new List<string>();
foreach (string Path in Paths)//遍历文件
{
string[] str = Path.Split('.');//分割.
string suffix = str[str.Length - 1].ToUpper();//取最后一位
if (suffix == type.ToUpper())//ToUpper转换为大写
{
ScreeningPaths.Add(Path);
}
}
return ScreeningPaths;//返回路径集合表
}
3.GetFile_Speite 获取文件:精灵图片读取
/// <summary>
/// 获取文件:精灵图片读取
/// </summary>
/// <param name="Path">路径</param>
/// <returns>精灵图片</returns>
static public Sprite GetFile_Speite(string Path)
{
Texture2D texture = GetFile_Texture2D(Path);
//创建Sprite
Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero);
return sprite;
}
4.GetFiles_Speite 获取文件:精灵图片批量读取
/// <summary>
/// 获取文件:精灵图片批量读取
/// </summary>
/// <param name="Paths">路径集合</param>
/// <returns>精灵图片集合</returns>
static public List<Sprite> GetFiles_Speite(List<string> Paths)
{
List<Sprite> Sprites = new List<Sprite>();
foreach (string Path in Paths)
{
Sprites.Add(GetFile_Speite(Path));
}
return Sprites;
}
5.GetFile_Texture2D 获取文件:图片读取
/// <summary>
/// 获取文件:图片读取
/// </summary>
/// <param name="Path">路径</param>
/// <returns>图片</returns>
static public Texture2D GetFile_Texture2D(string Path)
{
//创建文件读取流
FileStream fileStream = new FileStream(Path, FileMode.Open, FileAccess.Read);
fileStream.Seek(0, SeekOrigin.Begin);
//创建文件长度缓冲区
byte[] bytes = new byte[fileStream.Length];
//读取文件
fileStream.Read(bytes, 0, (int)fileStream.Length);
//释放文件读取流
fileStream.Close();
fileStream.Dispose();
fileStream = null;
//创建Texture
Texture2D texture = new Texture2D(0, 0);
texture.LoadImage(bytes);
return texture;
}
6.GetFiles_Texture2D 获取文件:图片批量读取
/// <summary>
/// 获取文件:图片批量读取
/// </summary>
/// <param name="Paths">路径集合</param>
/// <returns>图片集合</returns>
static public List<Texture2D> GetFiles_Texture2D(List<string> Paths)
{
List<Texture2D> Texture2Ds = new List<Texture2D>();
foreach (string Path in Paths)
{
Texture2Ds.Add(GetFile_Texture2D(Path));
}
return Texture2Ds;
}
7.GetFile_JsonObject 获取文件: 把Json文件变成类
/// <summary>
/// 获取文件: 把Json文件变成类
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="Path">文件路径</param>
/// <returns>返回类</returns>
static public T GetFile_JsonObject<T>(string Path)
{
string str = File.ReadAllText(Path);//读取文件所有内容
return Json_ToObject<T>(str);//json变成类
}
8.SetFile_JsonObject 写入文件:把类变成json文件
/// <summary>
/// 写入文件:把类变成json文件
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="Object">传入类</param>
/// <param name="Path">文件路径</param>
static public void SetFile_JsonObject<T>(T Object, string Path)
{
File.WriteAllText(Path, Json_ToJson(Object));//创建新文件
}
9.SetFile_JsonObject_Format 写入文件:把类变成json文件(缩进格式)
/// <summary>
/// 写入文件:把类变成json文件(缩进格式)
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="Object">传入类</param>
/// <param name="Path">文件路径</param>
static public void SetFile_JsonObject_Format<T>(T Object, string Path)
{
File.WriteAllText(Path, String_JsonFormat(Json_ToJson(Object)));//创建新文件
}
10.Json_ToJson 将对象转换成json(封装LitJson)
/// <summary>
/// 将对象转换成json(封装LitJson)
/// </summary>
/// <param name="obj">实例化的对象</param>
/// <returns>Json字符串</returns>
static public string Json_ToJson(object obj)
{
return String_Conversion(JsonMapper.ToJson(obj));
}
11.Json_ToObject 将json转换成对象(封装LitJson)
/// <summary>
/// 将json转换成对象(封装LitJson)
/// </summary>
/// <typeparam name="T">类型</typeparam>
/// <param name="json">Json字符串</param>
/// <returns>实例化的对象</returns>
static public T Json_ToObject<T>(string json)
{
return JsonMapper.ToObject<T>(json);
}
12.If_JsonString 判断字符串是否为json格式
/// <summary>
/// 判断字符串是否为json格式
/// </summary>
/// <param name="json">要判断的json字符串</param>
/// <returns>bool</returns>
static public bool If_JsonString(string json)
{
try
{
JsonMapper.ToObject<object>(json);
return true;
}
catch
{
return false;
}
}
13.String_Conversion 乱码转换:用于解决LitJson把类转换成string时出现的乱码
/// <summary>
/// 乱码转换:用于解决LitJson把类转换成string时出现的乱码
/// </summary>
/// <param name="source">乱码字符串</param>
/// <returns>正常字符串</returns>
static public string String_Conversion(string source)
{
return new Regex(@"\\u([0-9A-F]{4})", RegexOptions.IgnoreCase | RegexOptions.Compiled).Replace(
source, x => string.Empty + Convert.ToChar(Convert.ToUInt16(x.Result("$1"), 16)));
}
14.String_jsonFormat 格式转换:将Json缩进整理,用于查看
/// <summary>
/// 格式转换:将Json缩进整理,用于查看
/// </summary>
/// <param name="sourceJson">源Json字符串</param>
/// <returns>整理后的Json字符串</returns>
static public string String_JsonFormat(string sourceJson)
{
sourceJson += " ";
int itap = 0;
List<char> chars = new List<char>();
string newjson = "";
for (int i = 0; i < sourceJson.Length - 1; i++)
{
if (sourceJson[i] == '{' || sourceJson[i] == '[')
{
itap++;
newjson += sourceJson[i] + "\n";
for (int a = 0; a < itap; a++) { newjson += "\t"; }
}
else if ((sourceJson[i] == '}' || sourceJson[i] == ']'))
{
itap--;
newjson += "\n";
for (int a = 0; a < itap; a++) { newjson += "\t"; }
newjson += sourceJson[i] + "" + ((sourceJson[i + 1] == ',') ? "," : "") + "\n";
if (sourceJson[i + 1] == ',') i++;
for (int a = 0; a < itap; a++) { newjson += "\t"; }
}
else if (sourceJson[i] != '}' && sourceJson[i] != ']' && sourceJson[i + 1] == ',')
{
newjson += sourceJson[i] + "" + sourceJson[i + 1] + "\n";
i++;
for (int a = 0; a < itap; a++) { newjson += "\t"; }
}
else
{
newjson += sourceJson[i];
}
}
return newjson;
}