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 打印的结果 
 


 



android 如上 无法用File.Exits(path) 判断文件是否存在(据说ios可以)


只能用www加载.


[csharp]  view plain copy
  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  

你可能感兴趣的:(Unity3D,android)