從路徑中獲取文件名、更名的C#字符串處理
- // 舉例: string makestring = "2008年4月27日星期日";
- // string[] str = makestring.Split(new string[] { "年", "月", "日" }, StringSplitOptions.None);
- // 得到的數(shù)組里前三個就是2008、4、27;
- //(str[0].ToString()的值就是2008,str[1].ToString()的值就是4,str[2].ToString()的值就是27)
應(yīng)用: 從路徑中獲取文件名
假設(shè)我們放了一個html的上傳控件,ID為 File2 。則File2.Value獲取的值為 F:\Documents and Settings\WXZ\My Documents\千千all.ttpl
//////////////////////////////////////////////////////////////////////////////
string fileurl = File2.PostedFile.FileName.Substring(File2.PostedFile.FileName.LastIndexOf("[url=file://\\]\\") +1[/url] ).ToUpper(); //獲取URL中的文件名(帶后綴的) ,fileurl 的值為 “千千all.ttpl”
//(“//”為轉(zhuǎn)義字符,僅代表“/”,上文:從文件名字符串的后面開始,截取到***次遇見"/"為止的支付 ,+1是后移一位,不截取“/”,所以fileurl 的值為 “千千all.ttpl”)
string[] filename = fileurl.Split(new string[] { "." }, StringSplitOptions.None); //截取字符串函數(shù),將后綴去掉
Label1.Text = filename[0].ToString(); // filename[0]的值就是文件名“千千all”了。
改文件名 //現(xiàn)在Label1.Text 的值為 “千千all”,我們將它變個文件名加回去(目的就是上傳文件之后,將該文件名加上系統(tǒng)時間 用代碼重命名,)
string lastname = Fupload.PostedFile.FileName.Substring(Fupload.PostedFile.FileName.LastIndexOf(".") + 1).ToUpper();
//獲取 URL中的文件名后綴 ,lastname 的值為“ttpl”,如果“+1“不加,那么就是“.ttpl"
string filenametemp = DateTime.Now.ToString("yyyy'年'MM'月'dd'日'hh''時''mm''分''ss''秒''") + "." + lastname ;
//此時文件名變?yōu)?2008年09月08日05時09分05秒.ttpl ,時間為當前系統(tǒng)時間 。("yyyy'年'MM'月'dd'日'hh''時''mm''分''ss''秒''") 是格式輸出日期。
string filenameover = filename[0].ToString()+ DateTime.Now.ToString("yyyy'年'MM'月'dd'日'hh''時''mm''分''ss''秒''") + "." + lastname ;
//此時文件名變?yōu)?千千all2008年09月08日05時09分05秒.ttpl
//OVER了~已成功將上傳控件File2獲取的路徑F:\Documents and Settings\WXZ\My Documents\千千all.ttpl轉(zhuǎn)化為文件名千千all2008年09月08日05時09分05秒.ttpl
//上傳文件的時候考慮會重名,所以才..做..上面那么多事情...
【編輯推薦】