streamingAssetsPath 內文件讀取


複製代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public void Start(){       
    StartCoroutine(ontest());
    
}
IEnumerator ontest(){
    string persistentDataPath = Application.persistentDataPath +"/01.txt";
    Debug.Log(" persistentDataPath : "+persistentDataPath);
    if(!File.Exists(persistentDataPath)){
        string fileName  = Application.streamingAssetsPath + "/01.txt";
        Debug.Log("  fileName :"+fileName);
        if(File.Exists(fileName)){
            WWW www = new WWW(fileName);
            yield return www;
            if(!string.IsNullOrEmpty(www.error)){
                Debug.Log("==============load not error==========");
            }else{
                Debug.Log("=============load error==========");
                yield break;
            }
            if(www.isDone){
                Debug.Log("==============isDone==========");
                File.WriteAllBytes(persistentDataPath,www.bytes);
            }else{
                Debug.Log("==============not isDone==========");
            }
        }else{
            Debug.Log(fileName +" is not exists");
        }      
    }else{
        Debug.Log(persistentDataPath+" is exists");
    }
}

adb logcat -s Unity 打印的結果 
打印的結果 


StreamingAssets 



android 如上 無法用File.Exits(path) 判斷文件是否存在(據說ios可以)


只能用www加載.


[csharp] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. #if UNITY_ANDROID  
  2.     IEnumerator Start()  
  3.     {  
  4.         string fullName = "jar:file://" + Application.dataPath + "!/assets/test.txt";     
  5.         WWW www = new WWW(fullName);  
  6.         yield return www;  
  7.         //加載完成後處理,有點delay  
  8.         print(www.text)  
  9.     }  
  10. #else  
  11.     void Start ()  
  12.     {  
  13.         //Windows處理  
  14.     }  
  15. #endif  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章