using UnityEngine; using System.Collections; using System.Collections.Generic; using System.IO; public class DGFileUtil { public static List GetAllFiles(DirectoryInfo dir, string except=null) { List fileList = new List(); if(!Directory.Exists(dir.FullName) && !File.Exists(dir.FullName)) { Debug.LogError("Directory not exists : "+dir.FullName); return fileList; } FileInfo[] allFile = dir.GetFiles(); for(int i=0; i GetChildrenDirectory(DirectoryInfo dir) { List fileList = new List(); if(!Directory.Exists(dir.FullName) && !File.Exists(dir.FullName)) { Debug.LogError("Directory not exists : "+dir.FullName); return fileList; } DirectoryInfo[] allDir= dir.GetDirectories(); foreach (DirectoryInfo d in allDir) { if(d.FullName == dir.FullName) { continue; } fileList.Add(d.FullName); } return fileList; } public static void CreateDirectoryWhenNotExists(string destination) { destination = destination.Replace("\\", "/"); string dir = destination.Substring(0, destination.LastIndexOf("/")); if(!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } } public static void CopyFile(string source, string destination) { CreateDirectoryWhenNotExists(destination); File.Copy(source, destination); } public static void CopyFileOrDirectory(string source, string destination, string except=null) { List list = DGFileUtil.GetAllFiles(new DirectoryInfo(source), except); for(int i=0; i