Unity中加载文本

冰封百度

关键代码

// 加载本地文本 注意"/"
string path1 = Application.dataPath + "/Test.txt";
string text1 = System.IO.File.ReadAllText(path1);

// 加载Resources下的文本 注意不写后缀
string path2 = "Test";
TextAsset textAsset = Resources.Load<TextAsset>(path2);
string text2 = textAsset.text;

Unity TextAsset支持的后缀格式:

  • .txt
  • .xml
  • .json
  • .bytes
  • .csv
  • .fnt
  • .htm
  • .html
  • .yaml

封装

TextLoader.cs

using System.IO;
using UnityEngine;

/// <summary>
/// 文本加载器
/// <para>ZhangYu 2017-12-24</para>
/// </summary>
public static class TextLoader {

    // 加载本地文本
    public static string localLoad(string path){
        if (!File.Exists(path)) return null;
        return File.ReadAllText(path);
    }

    // 加载Resources下的文本
    public static string resourcesLoad(string path) {
        TextAsset textAsset = Resources.Load<TextAsset>(path);
        if (textAsset == null) return null;
        return textAsset.text;
    }

    // 保存本地文本
    public static void localSave(string path, string text){
        if (!File.Exists(path)) {
            FileStream stream = File.Create(path);
            stream.Close();
            stream.Dispose();
        }
        File.WriteAllText(path, text);
    }
}

注意事项:

文本放在Resources下时,要注意后缀是否是Unity支持的格式。
加载时不需要填写后缀名称,相同路径下的不同类型文件不要重名,否则加载时可能会选错文件。
Unit支持的格式可以预览
图片描述

阅读 2.4k

冰封百度的学习笔记
程序生涯中的技术整理

Unity游戏程序员一枚。生命不息,学习不止。

193 声望
36 粉丝
0 条评论

Unity游戏程序员一枚。生命不息,学习不止。

193 声望
36 粉丝
文章目录
宣传栏