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、總結:所以這里只給出建議,如果出現了和我一樣的異常可以按照我給出的步驟來解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM