Unity不同路徑下的檔案拷貝
阿新 • • 發佈:2018-12-26
void OnGUI() { DrawButtons(); } void DrawButtons() { if (flag == 1) { flag = 2; Debug.Log ("streamingAssetsPath = " + Application.streamingAssetsPath); Debug.Log ("persistentDataPath = " + Application.persistentDataPath); Debug.Log ("dataPath = " + Application.dataPath); Debug.Log ("temporaryCachePath = " + Application.temporaryCachePath); } GUI.Label(new Rect(30,5,600,50), "streamingAssetsPath = " + Application.streamingAssetsPath.ToString() ); GUI.Label(new Rect(30,20,600,50), "persistentDataPath = " + Application.persistentDataPath.ToString() ); GUI.Label(new Rect(30,35,600,50), "dataPath = " + Application.dataPath.ToString() ); GUI.Label(new Rect(30,50,600,50), "temporaryCachePath = " + Application.temporaryCachePath.ToString() ); if (GUI.Button (new Rect (400, 100, 150, 50), "拷貝到streaming")) { CopyFolder (Application.persistentDataPath,Application.streamingAssetsPath); } if (GUI.Button (new Rect (400, 160, 150, 50), "拷貝到persistent")) { CopyFolder (Application.streamingAssetsPath,Application.persistentDataPath); } if (GUI.Button (new Rect (400, 210, 150, 50), "刪除streaming")) { } if (GUI.Button (new Rect (400, 270, 150, 50), "刪除persistent")) { } } void CopyFolder( string srcPath, string tarPath ) { if(!Directory.Exists(srcPath)) { Directory.CreateDirectory (srcPath); } if(!Directory.Exists(tarPath)) { Directory.CreateDirectory (tarPath); } CopyFile (srcPath, tarPath); string[] directionName = Directory.GetDirectories (srcPath); foreach (string dirPath in directionName) { string directionPathTemp = tarPath + "\\" + dirPath.Substring (srcPath.Length + 1); CopyFolder (dirPath, directionPathTemp); } } void CopyFile( string srcPath, string tarPath ) { string[] filesList = Directory.GetFiles (srcPath); foreach (string f in filesList) { string fTarPath = tarPath + "\\" + f.Substring (srcPath.Length + 1); if (File.Exists (fTarPath)) { File.Copy (f, fTarPath, true); } else { File.Copy (f, fTarPath); } } }