同乐城tlc欢迎您光临同乐城tlc欢迎您光临

tlcbet官网
乐城tlc88

StreamingAssets文件夹的读取异常

1、今天在读取StreamingAssets文件夹中的文本文件的时候,出现了异常,花了一个多小时解决了,把解决结果给大家梳理一下

 

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

 

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

[Idle]NoHealth>DeadSawPlayer>Pursuit[Dead][Pursuit]NoHealth>DeadReachPlayer>AttackingLosePlayer>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、所以这里只给出建议,如果出现了和我一样的异常可以按照我给出的步骤来解决。

不出意外的话应该都可以进行解决的,当然不出错是最好的,找BUG损耗的时间太多了

 

欢迎阅读本文章: 张占齐

同乐城tlc

千赢线路