C 操作目錄和檔案

2022-03-27 18:25:01 字數 3935 閱讀 3495

1、通過path類的combine方法可以合併路徑。

string activedir = @"

c:\mydir";

string newpath = system.io.path.combine(activedir, "

mysubdirone

");

2、目錄的建立。

建立目錄時如果目錄已存在,則不會重新建立目錄,且不會報錯。建立目錄時會自動建立路徑中各級不存在的目錄。

(1)通過directory類的createdirectory方法建立。

string activedir = @"

c:\mydir";

string newpath = system.io.path.combine(activedir, "

mysubdirone");

system.io.directory.createdirectory(newpath);

(1)通過directoryinfo的物件建立。

system.io.directoryinfo di = new system.io.directoryinfo(@"

c:\mydirtwo\mysubdirthree");

di.create();

3、檔案的建立。

通過create方法建立檔案,會覆蓋同名的現有檔案。建立檔案時,該檔案所在路徑的目錄必須存在,否則報錯。

(1)通過file類的create方法建立。

string activedir = @"

c:\mydir";

string newpath = system.io.path.combine(activedir, "

mysubdirone");

system.io.directory.createdirectory(newpath);

//建立乙個空白檔案

string filenameone = datetime.now.tostring("

yyyymmddhhmmssffff")

+ ".txt";

string filepathone =system.io.path.combine(newpath, filenameone);

system.io.file.create(filepathone);

(2)通過fileinfo物件建立。

//

通過combine合併目錄

//然後建立目錄

string activedir = @"

c:\mydir";

string newpath = system.io.path.combine(activedir, "

mysubdirone");

system.io.directory.createdirectory(newpath);

//建立乙個空白檔案

string filenameone = datetime.now.tostring("

yyyymmddhhmmssffff")

+ ".txt";

string filepathone =system.io.path.combine(newpath, filenameone);

system.io.fileinfo fi = new

system.io.fileinfo(filepathone);

fi.create();

//

複製單個檔案到指定目錄

string filename = "

test.txt";

string sourcepath = @"

c:\testdir\subtestdir";

string targetpath = @"

c:\testdir\subtestdirtwo";

string sourcefile =system.io.path.combine(sourcepath, filename);

string destfile =system.io.path.combine(targetpath, filename);

if (!system.io.directory.exists(targetpath))

system.io.directory.createdirectory(targetpath);

//如果已存在,引數為false時將報錯,引數為true重寫該檔案

//當copy方法為兩個引數時,預設重寫為false。

system.io.file.copy(sourcefile, destfile, true

);

//以下為複製乙個目錄下所有檔案到指定目錄

//如果複製有子目錄的目錄的所有檔案,可以用遞迴或堆疊演算法實現

if(system.io.directory.exists(sourcepath))

}}

/*

移動檔案

*/string sourcefile = @"

c:\testdir\subtestdir\test.txt";

string destfile = @"

c:\testdir\subtestdirtwo\test.txt";

//當目標檔案存在時,丟擲異常

system.io.file.move(sourcefile, destfile);

/*移動目錄

*///

移動目錄將移動改目錄的子目錄和檔案

system.io.directory.move(@"

c:\testdir\subtestdirtwo\

", @"

c:\testdir\subtestdir

");

1、刪除目錄

刪除目錄,如果該目錄不存在,會丟擲異常。可以通過file類的delete方法刪除目錄,也可以通過fileinfo物件方法刪除目錄。

(1)通過 file類的delete方法刪除目錄

//

刪除可寫空目錄

//如果不為空丟擲目錄不為空異常

try

catch

(system.io.ioexception e)

//第二引數為false時,只能刪除空目錄,否則丟擲不為空異常

//第二引數為true時,刪除目錄,包括子目錄和檔案

try

catch

(system.io.ioexception e)

(2)通過fileinfo物件方法刪除目錄

system.io.directoryinfo di = new system.io.directoryinfo(@"

c:\testdir\subtestdirtwo");

try

catch

(system.io.ioexception e)

2、刪除檔案

刪除檔案時如果指定檔案的目錄存在,而檔案不存在,則不會丟擲異常,如果指定檔案的目錄不存在,則會丟擲異常。

(1)通過file類delete方法刪除檔案

try

catch

(system.io.ioexception e)

(2)通過fileinfo物件delete方法刪除檔案

system.io.fileinfo fi = new system.io.fileinfo(@"

c:\testdir\subtestdir\test1.txt");

try

catch

(system.io.ioexception e)

C 操作目錄和檔案

1 通過path類的combine方法可以合併路徑。string activedir c mydir string newpath system.io.path.combine activedir,mysubdirone 2 目錄的建立。建立目錄時如果目錄已存在,則不會重新建立目錄,且不會報錯。建立...

C語言目錄和檔案操作擴充套件

三 utime庫函式 四 rename庫函式 五 remove庫函式 六 課後作業 本章節擴充套件一些目錄和檔案操作的更多知識,因為這些知識涉及到時間操作,所以放在時間操作之後的章節中介紹。access函式用於判斷當前作業系統使用者對檔案或目錄的訪問許可權。包含標頭檔案 include 函式宣告 i...

Linux 目錄和檔案操作

目錄 刪除 複製 移動 1.刪除資料夾用 rmdir 資料夾名 但是rmdir不能刪除非空的資料夾,那如何刪除非空資料夾呢 a或 archive 此引數的效果和同時指定 dpr 引數相同。b或 backup 刪除,覆蓋目標檔案之前的備份,備份檔案會在字尾加上乙個備份字串。d或 no derefere...