在 windows 有一些字元是不能作為檔名,嘗試重新命名乙個檔案,輸入/ 就可以看到windows 提示的不能作為檔名的字元
那麼具體是包括哪些符號不能作為檔名?
上面這些字元不能用來檔名和資料夾名
而且在 windows 的要求,檔案是需要有檔名的,雖然你也可以建立.file這樣的檔案,但是使用者是難以自己輸入這樣的檔名。
之外還有一些檔名是保留,不能建立這樣的檔名
con, prn, aux, clock$, nul
com0, com1, com2, com3, com4, com5, com6, com7, com8, com9
lpt0, lpt1, lpt2, lpt3, lpt4, lpt5, lpt6, lpt7, lpt8, and lpt9.
嘗試新建乙個文字,然後把他檔名命名為上面的任意乙個,基本windows會說不能把檔案命名
那麼是不是把這些字串拿出來判斷?實際上微軟已經做了這個了,因為在不同的系統,可能之後會新增新的字串,所以最好不要自己寫。
可以使用微軟給的函式system.io.path.getinvalidfilenamechars ,下面的**可以直接使用
public static string makevalidfilename(string text, string replacement = "_")
else
}return str.tostring();
}如果確實需要顯示檔名,請使用下面**
public static string getsafefilename(string arbitrarystring)
i = replaceindex + 1;
replaceindex = arbitrary程式設計客棧string.indexofany(invalidchars, i);
} while (replaceindex != -1);
r.append(arbitrarystri i, arbitrarystring.length - i);
return r.tostring();}總結
本文標題: 詳解c# 不能用於檔名的字元
本文位址:
上傳的檔名不能用中文的問題
找到你的tomcat安裝目錄,比如我的是安裝在d盤下,那就找到d tomcat tomcat 5.5 conf目錄下,此目錄下有乙個tomcat的配置檔案 server.xml,用記事本開啟此xml配置檔案,然後找到下面這兩段 2.在這兩段 的末尾統統加上 uriencoding utf 8 這句來...
C 去除檔名空格字元
去除檔名的空格.cpp 此檔案包含 main 函式。程式執行將在此處開始並結束。include pch.h include include include pragma warning disable 4996 include includeusing namespace std char strr...
C語言 列印呼叫函式的行號,檔名 函式名用於除錯
c語言為了除錯方便,經常需要在故障處輸出問題描述,此時能夠獲得呼叫函式的相關資訊,就會很方面找到問題所在,現在將實現方法描述如下 第一種方法 void debugout void 當該函式被呼叫時,輸出的是本函式的檔案檔名 函式名 函式所在行號,無法定位問題所在。方法二 define debug o...