C# 文件夾遞歸拷貝操作

????????在Unity游戲開發(fā)中腹纳,有時候做編輯器開發(fā)源葫,或者做一些小工具的時候經(jīng)常用到文件操作诗越。文件夾內(nèi)容的復制是最常用的,這里做個Mark息堂,方便以后翻閱嚷狞,同時也能分享給那些需要同樣接口的筒靴們(別問我為什么不用Unity自帶的文件操作(UnityEditor.FileUtil))

上菜(code):

using System.Collections;

using System.Collections.Generic;

using System.IO;

using UnityEngine;

public class Scripts : MonoBehaviour

{

? ? string srcPath;

? ? string dstPath;

? ? // Use this for initialization

? ? void Start()

? ? {

? ? ? ? srcPath = Application.dataPath + "/../TestSrc";

? ? ? ? dstPath = Application.dataPath + "/../TestDst";

? ? ? ? CopyFolder(srcPath, dstPath, false);

? ? }

? ? void CopyFolder(string srcPath_, string dstPath_, bool createSrcFolder_ = true)

? ? {

? ? ? ? string symbol1 = "/";

? ? ? ? string symbol2 = "\\";

? ? ? ? if(createSrcFolder_)

? ? ? ? {

? ? ? ? ? ? string strFolderName = srcPath_.Substring(srcPath_.LastIndexOf(symbol1) + 1, srcPath_.Length - srcPath_.LastIndexOf(symbol1) - 1);

? ? ? ? ? ? dstPath_ = dstPath_ + symbol1 + strFolderName;

? ? ? ? ? ? if (!Directory.Exists(dstPath_) && createSrcFolder_)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? Directory.CreateDirectory(dstPath_);

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? string[] strFiles = Directory.GetFiles(srcPath_);

? ? ? ? foreach (string filePath in strFiles)

? ? ? ? {

? ? ? ? ? ? string strFileName = filePath.Substring(filePath.LastIndexOf(symbol2) + 1, filePath.Length - filePath.LastIndexOf(symbol2) - 1);

? ? ? ? ? ? string dstAddress = dstPath_ + symbol1 + strFileName;

? ? ? ? ? ? File.Copy(filePath, dstAddress, true);

? ? ? ? }

? ? ? ? DirectoryInfo dirInfo = new DirectoryInfo(srcPath_);

? ? ? ? DirectoryInfo[] dirPaths = dirInfo.GetDirectories();

? ? ? ? foreach (var dirPath in dirPaths)

? ? ? ? {

? ? ? ? ? ? CopyFolder(srcPath_ + symbol1 + dirPath.Name, dstPath_);

? ? ? ? }

? ? }

}

代碼簡單介紹:

1、CopyFolder函數(shù)實現(xiàn)了荣堰,遞歸拷貝源文件夾下面的所有文件到目標文件床未。

2、如果目標文件已存在同名文件振坚,會進行覆蓋處理薇搁,如果有不想覆蓋情況,請自行處理屡拨。

3只酥、createSrcFolder_字段來判斷是否要創(chuàng)建源文件夾,然后在拷貝呀狼。有些時候裂允,我只想拷貝源文件夾下面的所有文件,但是不包括這個源文件夾自身哥艇,就可以把這個字段設(shè)置為false绝编,否則會把源文件夾一起拷貝到目標文件下面,作為其子文件夾貌踏。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末十饥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子祖乳,更是在濱河造成了極大的恐慌逗堵,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眷昆,死亡現(xiàn)場離奇詭異蜒秤,居然都是意外死亡,警方通過查閱死者的電腦和手機亚斋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門作媚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人帅刊,你說我怎么就攤上這事纸泡。” “怎么了赖瞒?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵女揭,是天一觀的道長蚤假。 經(jīng)常有香客問我,道長吧兔,這世上最難降的妖魔是什么勤哗? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮掩驱,結(jié)果婚禮上芒划,老公的妹妹穿的比我還像新娘。我一直安慰自己欧穴,他們只是感情好民逼,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著涮帘,像睡著了一般拼苍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上调缨,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天疮鲫,我揣著相機與錄音,去河邊找鬼弦叶。 笑死俊犯,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的伤哺。 我是一名探鬼主播燕侠,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼立莉!你這毒婦竟也來了绢彤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蜓耻,失蹤者是張志新(化名)和其女友劉穎茫舶,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刹淌,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡饶氏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了芦鳍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嚷往。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡葛账,死狀恐怖柠衅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情籍琳,我是刑警寧澤菲宴,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布贷祈,位于F島的核電站,受9級特大地震影響喝峦,放射性物質(zhì)發(fā)生泄漏势誊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一谣蠢、第九天 我趴在偏房一處隱蔽的房頂上張望粟耻。 院中可真熱鬧,春花似錦眉踱、人聲如沸挤忙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽册烈。三九已至,卻和暖如春婿禽,著一層夾襖步出監(jiān)牢的瞬間赏僧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工扭倾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留淀零,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓膛壹,卻偏偏與公主長得像窑滞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子恢筝,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 如下代碼段是關(guān)于C#封裝的常用文件操作類的代碼哀卫,希望對小伙伴們有些用處。 using System; using ...
    code男人閱讀 659評論 0 2
  • 工作中碰到由同一個項目撬槽,打包中不同包名的游戲apk或ipa的需求此改,比如項目Trunk1.0,需要打出一個包名為co...
    某人在閱讀 1,696評論 0 2
  • using UnityEngine; using System.Collections; using LitJso...
    胤醚貔貅閱讀 749評論 0 0
  • 本文是對FTP相關(guān)操作侄柔,例如新建/刪除目錄共啃、新建/刪除文件、獲取文件/目錄列表等的總結(jié)暂题,方便日后調(diào)用移剪。 其實C#操...
    Nmao閱讀 1,261評論 0 0
  • Java 語言支持的類型分為兩類:基本類型和引用類型。整型(byte 1, short 2, int 4, lon...
    xiaogmail閱讀 1,348評論 0 10