streamingAssetsPath 内文件读取

来源:互联网 发布:免费网络考试系统 编辑:程序博客网 时间:2024/06/01 22:48

复制代码
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  

0 0