Unity3d

TextAsset类

2019-04-12  本文已影响0人  迷途小路

有时我们需要读取配置文件,这个文件是以文本文件的形式存在的,我们可以用到TextAsset类,先看下这个类里的方法

public class TextAsset : Object
    {
        public TextAsset();

        //
        // 摘要:
        //     The text contents of the .txt file as a string. (Read Only)
        public string text { get; }
        //
        // 摘要:
        //     The raw bytes of the text asset. (Read Only)
        public byte[] bytes { get; }

        //
        // 摘要:
        //     Returns the contents of the TextAsset.
        public override string ToString();
    }

有2个只读的方式,分别得到bytes[]类型和string类型。
可以把配置文件放在Resources文件夹下,这是个自己创建的文件夹,通过Resources.Load<>()方法可以获取里面的内容,
注意 1.可以有多个Resources文件夹,且不一定要放在根目录 2.读取时读取到一个就会停止,读取顺序就是Resources文件夹的顺序。
例如,现在有个叫config的文本文件在Resources文件里,我们想要读取里面的内容


image.png

在代码中

string str_config = Resources.Load<TextAsset>("config").text;

有时我们要加一些加密或者转码的操作,先要获取它的bytes[],操作后再转为string类型

byte[] byte_config= Resources.Load<TextAsset>("config").bytes;
string str_config = System.Text.Encoding.UTF8.GetString(byte_config);

如果是将string转为byte[],为

byte[] byte_config = System.Text.Encoding.UTF8.GetBytes(str_config);

Encoding后为编码方式,有以下几种

        public static Encoding UTF7 { get; }
        public static Encoding BigEndianUnicode { get; }
        public static Encoding Unicode { get; }
        public static Encoding Default { get; }
        public static Encoding ASCII { get; }
        public static Encoding UTF8 { get; }
        public static Encoding UTF32 { get; }
上一篇下一篇

猜你喜欢

热点阅读