各位大俠,c中建立目錄和檔案時的路徑問題求助

時間 2021-05-07 20:00:10

1樓:匿名使用者

判斷給出的路徑是目錄路徑還是檔案路徑

如果能夠確定給出的路徑是已經存在的,那麼可以使用directory.exists()和file.exists()來判斷路徑是目錄還是檔案。

不能確定給定的路徑存在,可以使用path.getfilename()獲取路徑中的檔名,如能取到檔名顯然路徑是一個檔案路徑,如不能則是路徑。說明,目錄路徑的最後一個字元應該是以』\』來結束。

合併路徑

有些路徑的不同部分是從不同的地方取得,這是需要將這些部分進行組合,形成一個完整的路徑。在組合的過程中不可避免的要涉及到對」\」的處理,這時可以使用path.combine()把路徑的不同部分組合到一起。

path.combine()有多種形式的過載,滿足不同的需求。需要說明的是,在用path.

combine()不接受不合法的檔名或者路徑名,並且在合併時,如果某一個部分是從絕對路徑開始的,則合併操作重置為從該絕對路徑開始,捨棄前面的已經合併的路徑。例如:

string paths = ;

string fullpath = path.combine(paths);

//fullpath 為 e:\images

console.writeline(fullpath);

fullpath為e:\images

獲取路徑的特定部分,如:檔名,副檔名,檔案目錄等

path.getfilename(path);//獲取檔名

path.getfilenamewithoutextension(path); //獲取檔名,不帶副檔名

path.getextension(path) ; //獲取副檔名

path.getdirectoryname(path) ; //獲取檔案目錄

path.getpathroot(path) ;//獲取根目錄資訊

更具體的可以參看

path其它的一些功能函式

path.getrandomfilename() 獲取一個隨機的檔名或者目錄名

path.gettempfilename() 建立磁碟上唯一命名的零位元組的一個臨時檔案並返回該檔案的完整路徑

path.gettemppath() 獲取當前使用者的臨時目錄路徑

path.ha***tension() 確定路徑是否包含副檔名

獲取和應用程式相關的路徑

system.diagnostics.process.

getcurrentprocess().mainmodule.filename 獲取模組的完整路徑,包括檔名。

system.environment.currentdirectory 獲取或設定應用程式當前工作目錄的完全限定路徑

system.io.directory.

getcurrentdirectory() 獲取或設定應用程式的當前工作目錄,不一定是應用程式的啟動目錄,是應用程式最後一次操作過的目錄。

環境變數相關

使用system.environment.getenvironmentvariable()能夠獲取和環境變數相關的檔案路徑,例如:

system.environment.getenvironmentvariable("windir") 獲取作業系統所在的目錄

system.environment.getenvironmentvariable("include") 獲取標頭檔案所在的目錄

system.environment.getenvironmentvariable("tmp") 獲取臨時目錄

system.environment.getenvironmentvariable("path") 獲取path環境變數所包含的檔案目錄

自然,使用system.environment.setenvironmentvariable() 能夠設定環境變數

2樓:

用directoryinfo這個試試看吧!

string path="*********";//檔案路徑directoryinfo dire=new directoryinfo(path)

if(dire.exists)

3樓:龍過雞年

首先,需要具有相應的許可權。

使用 system.io.path.combine 方法組合檔案路徑

用c#程式設計,在桌面建立一個資料夾,這個路徑應該怎麼寫?謝謝大哥!!!

4樓:匿名使用者

private void button4_click(object sender, eventargs e)

這個需要轉義符 應該這樣寫

private void button4_click(object sender, eventargs e)

5樓:

這個路徑你可以放入你桌面的路徑,比如我的是win7,預設的桌面是@「c:\users\administrator\desktop」

6樓:

c:\documents and settings\使用者名稱\桌面(xp)

c:\users\使用者名稱\desktop (vista,7)

7樓:

通過函式獲得路徑,之後建立,這樣就行了,用使用者名稱的難道你換一臺電腦就修改一次源**嗎?

string dir = environment.getfolderpath(environment.specialfolder.desktopdirectory);

獲取桌面路徑

急!檔案打不開,提示:路徑不存在,或是無效目錄!請高手幫忙!謝謝

8樓:

資料線可能有問題!也可能是電腦裡的驅動出了問題。換一臺電腦試試……1、不行用分割槽工具看一下,2、用chkdsk命令修復一下看看。

3、直接格式化4。、低階格式化然後高階格式化5、看看在不在保修期了,到賣家那裡看一下

9樓:別愛發

肯定是驅動程式的安裝目錄找不到了。

一般來說有兩個:重新啟動後出現的情況,被刪除了。

各位大俠,幫我做c語言題,各位大俠,幫我做一個C語言題

for j 0 j 6 j 迴圈上界改為5,否則下面的a j 1 a j 陣列越界。for j 0 j 6 j 迴圈只應做陣列資料的後移。改後的程式如下 include stdio.h define n 6 void main a 0 k for n 0 n 6 n printf 2d a n pr...

一道C程式題,請各位大俠幫忙

你已經用了修飾符了,datatable就是你用的修飾符,void修飾符表示方法沒有返回值,datatable表示方法會返回一個datatable 豬熊打架 void修飾符表示該方法沒有返回值,可是你在方法裡又寫了return dt 你說這是為什麼呢 public createdata 中的 只能是v...

各位大俠幫我看看這是神馬問題,C語言的

一般出現這個都是越界問題 include include main scanf s n ch 6 輸入除了格式控制符最好不要加別的東西scanf s ch 6 或者使用gets ch 更加方便 while 1 else break 這個在這兒也沒有意義。以上的可能都是必須進行的 而且都有break了...