MyTool_Static.MyFile 资源文件读写

 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缩进整理,用于查看


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;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值