• [转]关于Unity中文件读取


     原文  http://www.cnblogs.com/ThreeThousandBigWorld/p/3199245.html

      存储:

        在程序发布后文件的存放有两种,第一种是打包到Uniyt的资源包中(*.unity3D),第二种就是把文件存放在一个特殊的目录 如:StreamingAssets,这个目录的东西Unity不会打包任何资源包中(但让除非你手动打包),但是发布的时候这个文件夹会被打包进程序 中,一起发布。

    格式:

        通过WWW加载:

          一种是纯文本格式,如 txt,xml,csv等,这种纯文本试用原始扩展名即可。

          一种是二进制,如果文件需要压缩,加密等等操作,需要把文件的扩展名改为.bytes.

         使用WWW加载时需要注意编码格式为 utf8,如果它不能解析为utf8字符串,文本导入器会尽量带nonascii字。

    代码中修改xml编码格式:

    byte[] encodingData = Encoding.UTF8.GetBytes(m_strData);
          System.IO.MemoryStream ms = new System.IO.MemoryStream(encodingData);
          ms.Flush();
          ms.Position = 0;
          document.Load(ms)

    通过C#加载:

           任意格式.

    读取:

        第一种:

       这种方法也分两种,一种是放到Resources文件夹下当Untiy 发布的时候会把这个文件夹下的所有资源打包成一个默认资源包一起发布出去,读取时用 Resources 类读取.

    另外一种是自己打包然后通过 WWW 加载 AssetBundle ,最后通过AssetBundle中的函数加载与Resources方法类似。

       第二种:

       这种方法需要把文件放到StreamingAssets目录下,在不同的平台上面 (Windows, Ios ,Android),该目录最终发布的位置不同,所以读取的方法也不同。

      Windows Ios Android
    C# 支持 支持 不支持
    C#路径 Application.streamingAssetsPath+” /Myfile.txt Application.streamingAssetsPath+” /Myfile.txt  
           
    WWW 支持 支持 支持
    WWW路径 "file://"+Application.streamingAssetsPath+” /Myfile.txt "file://"+Application.streamingAssetsPath+” /Myfile.txt Application.streamingAssetsPath+” /Myfile.txt

    WWW是异步加载所以执行加载命令式不能直接执行读取解析操作,

    要等待

    var www = new WWW (filePath);

    yield www;

    result = www.text;

  • 相关阅读:
    springboot 上传文件过大的500异常
    java OSS批量下载,并压缩为ZIP
    Java 对象转xml (dom 4j)
    windows 10 64位机器上 安装部署
    Java 读取excel 文件流
    关于Java 去除空格,换行的代码
    ORACLE 查询近一天,近半小时内的数据
    【转】C#(ASP.Net)获取当前路径的方法集合
    【转】NumPy-快速处理数据
    【转】Eclipse 常用快捷键 (动画讲解)
  • 原文地址:https://www.cnblogs.com/zhanlang96/p/3726694.html
Copyright © 2020-2023  润新知