• StreamingAssets文件夹的读取异常


    1、今天在读取StreamingAssets文件夹中的文本文件的时候,出现了异常,花了一点时间去解决,把解决步骤结果进行梳理

    2、文本文件夹所在位置:在StreamingAssets文件夹中新建一个文件名为AI_01的文本文件

    3、文本文件中的内容,测试使用:

        [Idle]
        NoHealth>Dead
        SawPlayer>Pursuit

        [Dead]

        [Pursuit]
        NoHealth>Dead
        ReachPlayer>Attacking
        LosePlayer>Default

    4、读取文本文件的代码:

     1 public static String Load(string aiConfigFile)
     2         {
     3             //1、构造 配置文件的完整路径
     4             aiConfigFile = Path.Combine(Application.streamingAssetsPath, aiConfigFile);
     5 
     6             WWW www = new WWW(aiConfigFile);
     7             //2、
     8             while (true)
     9             {
    10                 if (!string.IsNullOrEmpty(www.error))
    11                 {
    12                     throw new Exception("AI配置文件读取异常");
    13                 }
    14                 if (www.isDone)
    15                 {
    16                     return www.text;
    17                 }
    18 
    19             }
    20         }

    5、在其他的类中进行方法的调用来读取文件,获得其中的字符串文本

     [HideInInspector]
     //文件在StreamingAssets中的位置
    public string aiConfigFile = "AI_01.txt";


    //测试方法,来读取文件
    private void Test()
    {
      string temp= AIConfigurationReader.Load(aiConfigFile);
    }

    6、本来按常理来说是可以读取成功的,但是这个是会运行会显示AI_01配置文件读取异常

    7、开始解决:

      7.1:以为是由于StreamingAssets文件的读取会因为平台的特殊性,后面进行了修改,依旧无法解决,参考解决方案:Unity官方手册

      7.2:后面觉得可能是文本文件的格式问题,进行了尝试,UTF-8和ANSI两种格式都试了,依旧无法解决

      7.3.1:检查了文件名是否正确,确认无错,则进行输出,这里就察觉到异常了:输出的路径只有StreamingAssets,没有后面的AI_01.txt,检查代码确定是进行了路径的连接了。

      7.3.2:发现路径无法正确的读取,猜测是动态的字段无法配合使用,所以把文件地址改为了static的进行测试

    [HideInInspector]
    public static  string aiConfigFile = "AI_01.txt";

      7.3.3:这个时候运行正常,文件也正常读取出来了

    8、在运行正常的基础上我又将其static删除,然后运行,这次又没有错误了,纠结中。。。。。。

    9、总结:所以这里只给出建议,如果出现了和我一样的异常可以按照我给出的步骤来解决。

  • 相关阅读:
    java数据库连接池proxool介绍及mysql8小时断开连接问题的说明
    golang 做了个mutex与atomic性能测试
    Pcre 安装
    go err
    go if switch range
    Nginx 处理Http请求头部流程
    go 指针
    golang struct、interface详解
    go slice详解
    Linux基础
  • 原文地址:https://www.cnblogs.com/zhh19981104/p/9776550.html
Copyright © 2020-2023  润新知