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 获取路径:获取文件夹中所有文件路径

/// 
/// 获取路径:获取文件夹中所有文件路径
/// 
/// 
/// 
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;
}

2.GetPaths_ScreeningPath 获取路径:文件路径过滤集合

/// 
/// 获取路径:文件路径过滤集合
/// 
/// 路径集合
/// 后戳名
/// 文件路径集合
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;//返回路径集合表
}

3.GetFile_Speite 获取文件:精灵图片读取

/// 
/// 获取文件:精灵图片读取
/// 
/// 路径
/// 精灵图片
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 获取文件:精灵图片批量读取

/// 
/// 获取文件:精灵图片批量读取
/// 
/// 路径集合
/// 精灵图片集合
static public List GetFiles_Speite(List Paths)
{
    List Sprites = new List();
    foreach (string Path in Paths)
    {
        Sprites.Add(GetFile_Speite(Path));
    }
    return Sprites;
}

5.GetFile_Texture2D 获取文件:图片读取

/// 
/// 获取文件:图片读取
/// 
/// 路径
/// 图片
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 获取文件:图片批量读取

/// 
/// 获取文件:图片批量读取
/// 
/// 路径集合
/// 图片集合
static public List GetFiles_Texture2D(List Paths)
{
    List Texture2Ds = new List();
    foreach (string Path in Paths)
    {
        Texture2Ds.Add(GetFile_Texture2D(Path));
    }
    return Texture2Ds;
}

7.GetFile_JsonObject  获取文件: 把Json文件变成类

/// 
/// 获取文件: 把Json文件变成类
/// 
/// 类型
/// 文件路径
/// 返回类
static public T GetFile_JsonObject(string Path)
{
    string str = File.ReadAllText(Path);//读取文件所有内容
    return Json_ToObject(str);//json变成类   
}

8.SetFile_JsonObject 写入文件:把类变成json文件

/// 
/// 写入文件:把类变成json文件
/// 
/// 类型
/// 传入类
/// 文件路径
static public void SetFile_JsonObject(T Object, string Path)
{
    File.WriteAllText(Path, Json_ToJson(Object));//创建新文件
}

9.SetFile_JsonObject_Format 写入文件:把类变成json文件(缩进格式)

/// 
/// 写入文件:把类变成json文件(缩进格式)
/// 
/// 类型
/// 传入类
/// 文件路径
static public void SetFile_JsonObject_Format(T Object, string Path)
{
    File.WriteAllText(Path, String_JsonFormat(Json_ToJson(Object)));//创建新文件
}

10.Json_ToJson 将对象转换成json(封装LitJson)

/// 
/// 将对象转换成json(封装LitJson)
/// 
/// 实例化的对象
/// Json字符串
static public string Json_ToJson(object obj)
{
    return String_Conversion(JsonMapper.ToJson(obj));
}

11.Json_ToObject 将json转换成对象(封装LitJson)

/// 
/// 将json转换成对象(封装LitJson)
/// 
/// 类型
/// Json字符串
/// 实例化的对象
static public T Json_ToObject(string json)
{ 
    return JsonMapper.ToObject(json);
}

12.If_JsonString 判断字符串是否为json格式

/// 
/// 判断字符串是否为json格式
/// 
/// 要判断的json字符串
/// bool
static public bool If_JsonString(string json)
{
    try
    {
        JsonMapper.ToObject(json);
        return true;
    }
    catch
    {
        return false;
    }
} 
  

13.String_Conversion 乱码转换:用于解决LitJson把类转换成string时出现的乱码

/// 
/// 乱码转换:用于解决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)));
}

14.String_jsonFormat 格式转换:将Json缩进整理,用于查看

/// 
/// 格式转换:将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;
}

 

你可能感兴趣的:(U3D_MyTool,u3d总结笔记)