static public class MyFile{...}
目录
2.GetPaths_ScreeningPath 获取路径:文件路径过滤集合
3.GetFile_Speite 获取文件:精灵图片读取
4.GetFiles_Speite 获取文件:精灵图片批量读取
5.GetFile_Texture2D 获取文件:图片读取
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缩进整理,用于查看
///
/// 获取路径:获取文件夹中所有文件路径
///
///
///
static public List GetPaths(string Path)
{
List Paths = new List();
DirectoryInfo info = new DirectoryInfo(Path);//获取路径文件夹文件
FileInfo[] infos = info.GetFiles();//获取所有文件名
foreach (FileInfo file in infos)//遍历每个文件
{
Paths.Add(Path + "/" + file.Name);//存入链表
}
return Paths;
}
///
/// 获取路径:文件路径过滤集合
///
/// 路径集合
/// 后戳名
/// 文件路径集合
static public List GetPaths_ScreeningPath(List Paths, string type)
{
List ScreeningPaths = new List();
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;//返回路径集合表
}
///
/// 获取文件:精灵图片读取
///
/// 路径
/// 精灵图片
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;
}
///
/// 获取文件:精灵图片批量读取
///
/// 路径集合
/// 精灵图片集合
static public List GetFiles_Speite(List Paths)
{
List Sprites = new List();
foreach (string Path in Paths)
{
Sprites.Add(GetFile_Speite(Path));
}
return Sprites;
}
///
/// 获取文件:图片读取
///
/// 路径
/// 图片
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;
}
///
/// 获取文件:图片批量读取
///
/// 路径集合
/// 图片集合
static public List GetFiles_Texture2D(List Paths)
{
List Texture2Ds = new List();
foreach (string Path in Paths)
{
Texture2Ds.Add(GetFile_Texture2D(Path));
}
return Texture2Ds;
}
///
/// 获取文件: 把Json文件变成类
///
/// 类型
/// 文件路径
/// 返回类
static public T GetFile_JsonObject(string Path)
{
string str = File.ReadAllText(Path);//读取文件所有内容
return Json_ToObject(str);//json变成类
}
///
/// 写入文件:把类变成json文件
///
/// 类型
/// 传入类
/// 文件路径
static public void SetFile_JsonObject(T Object, string Path)
{
File.WriteAllText(Path, Json_ToJson(Object));//创建新文件
}
///
/// 写入文件:把类变成json文件(缩进格式)
///
/// 类型
/// 传入类
/// 文件路径
static public void SetFile_JsonObject_Format(T Object, string Path)
{
File.WriteAllText(Path, String_JsonFormat(Json_ToJson(Object)));//创建新文件
}
///
/// 将对象转换成json(封装LitJson)
///
/// 实例化的对象
/// Json字符串
static public string Json_ToJson(object obj)
{
return String_Conversion(JsonMapper.ToJson(obj));
}
///
/// 将json转换成对象(封装LitJson)
///
/// 类型
/// Json字符串
/// 实例化的对象
static public T Json_ToObject(string json)
{
return JsonMapper.ToObject(json);
}
///
/// 判断字符串是否为json格式
///
/// 要判断的json字符串
/// bool
static public bool If_JsonString(string json)
{
try
{
JsonMapper.ToObject
///
/// 乱码转换:用于解决LitJson把类转换成string时出现的乱码
///
/// 乱码字符串
/// 正常字符串
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)));
}
///
/// 格式转换:将Json缩进整理,用于查看
///
/// 源Json字符串
/// 整理后的Json字符串
static public string String_JsonFormat(string sourceJson)
{
sourceJson += " ";
int itap = 0;
List chars = new List();
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;
}