1. 程式人生 > >Unity不同路徑下的檔案拷貝

Unity不同路徑下的檔案拷貝

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);
		}
	}
}