c#中文件的上傳與管理(獲取文件的基本信息)


在網站開發過程中,經常要涉及對文件的操作,因此要實現多文件的上傳、文件的永久刪除以及對文件的搜索、下載和查看等多方面的操作。

1,獲取文件的大小
步驟:
(一):創建一個Windows窗體應用程序
(二):在該窗體中添加一個按鈕,用來打開指定文件,取其大小。
(三):代碼如下:

1 private void button1_Click(object sender, EventArgs e)
2         {
3             OpenFileDialog openFile = new OpenFileDialog();//創建打開文件對話對話框對象
4             if (openFile.ShowDialog() == DialogResult.OK)//判斷是否選中文件
5             {
6                 MessageBox.Show("文件長度:"+File.Open(openFile.FileName,FileMode.Open).Length.ToString()+"字節");//彈出消息對話框
7             }
8         }

(四):運行結果:

上一例子中,使用File類的Open方法打開指定的文件,然后使用FileStream類的Length屬性獲取文件的長度。
1,File類的Open方法用來打開指定路徑上的FileStream,具有讀/寫訪問權限。語法如下:
public static FileStream Open(string path,FileMode mode);
參數說明
path:要打開的文件
mode:FileMode枚舉值之一,用於指定在文件不存在時是否創建該文件,並確定是保留還是覆蓋現有的文件的內容。FileMode枚舉值及說明如下
返回值:以指定模式打開的指定的路徑上的FlieStream,具有讀/寫訪問權限並且不共享。

FileMode枚舉值及說明
枚舉值 描述
CreateNew 指定操作系統應創建新文件
Create 指定操作系統應創建新文件。如果文件已存在,它將被覆蓋。
Open 指定操作系統應打開現有的文件。
OpenOrCreate 指定操作系統應打開文件(如果文件已存在):否則,應創建新文件
Truncate 指定操作系統應打開現有的文件。文件一旦被打開,就將被截斷為零字節大小
Append 打開現有文件並查找到文件尾。或創建新文件

 

 

 

 

 

 

 

 

 

 

 

2,FlieStream類的Length屬性
FlieStream類的Length屬性用來獲取用字節表示的流長度。格式語法如下:
public override long Length { get; }

秘技心法:打開對話框使用OpenFileDialog控件來表示,它表示一個通用對話框,用戶可以使用對話框來指定一個或多個要打開的文件的文件名。我們可以用
OpenFileDialog控件的ShowDialog方法顯示“打開”對話框。

 

2,獲取文件的拓展名
步驟:
(一):創建一個Windows窗體應用程序
(二):在該窗體中添加一個按鈕,用來打開指定文件,取其拓展名。
(三):代碼如下:

1 private void button1_Click(object sender, EventArgs e)
2         {
3             OpenFileDialog openFile = new OpenFileDialog();//創建打開文件對話框對象
4             if (openFile.ShowDialog() == DialogResult.OK)//判斷是否選中文件
5             {
6                 MessageBox.Show("文件的拓展名:" + openFile.FileName.Substring(openFile.FileName.LastIndexOf(".") + 1,openFile.FileName.Length-openFile.FileName.LastIndexOf(".")-1),"提示");//彈出消息對話框
7             }
8         }

(四):運行結果:

上一個例子中獲取文件拓展名,主要是通過從文件名中截取相應的字符串來實現的,其中主要用到了string類的SubString方法。
SubString方法用來從指定的字符位置開始截取指定長度的字符串。其語法如下:
public string Substring(int startIndex, int length);
參數說明:
1,startIndex:子字符串的起始位置的索引。
2,length:要截取的字符數。
3,返回值:一個String文本字符串,表示截取的字符串。

秘技心法:”打開“對話框的返回值可以使用DialogResult枚舉來獲取,該枚舉指定標識符以指示對話框的返回值。例如,要獲取“打開”對話框的返回值是否為“確定”按鈕,可以使用以下代碼實現:
if (openFile.ShowDialog() == DialogResult.OK)

 

3,獲取文件的最后一次修改時間
步驟:
(一):創建一個Windows窗體應用程序
(二):在該窗體中添加一個按鈕,用來打開指定文件,取其創建時間。
(三):代碼如下:

 1 private void button1_Click(object sender, EventArgs e)
 2         {
 3             OpenFileDialog openFile = new OpenFileDialog();//創建打開文件對話框對象
 4             if (openFile.ShowDialog() == DialogResult.OK)//判斷是否選中文件
 5             {
 6                 FileInfo info = new FileInfo(openFile.FileName);//創建FileInfo對象
 7 
 8                 MessageBox.Show("文件的創建日期:" +info.CreationTime.ToString() , "提示");//彈出消息對話框
 9             }
10         }

(四):運行結果:

上一個例子中主要用到了FileInfo類的LastWriteTime屬性,下面對其進行詳解:
FileInfo類的LastWriteTime屬性用來獲取或設置上次寫入當前文件的時間。其語法格式為:
public DateTime LastWriteTime { set; get; }

 

4,獲取文件名中禁止使用的字符
在Windows操作系統中新建文件時,如果輸入了非法字符,系統會提示錯誤,那么文件的名稱究竟不允許哪些非法字符?詳情如下:
步驟:
(一):創建一個Windows窗體應用程序
(二):在該窗體中添加一個按鈕,用來打開指定文件,用來獲取路徑名中禁止使用的字符,添加一個RichTextBox控件,用來顯示路徑名中所有禁止使用的字符。
(三):代碼如下:

1 private void button1_Click(object sender, EventArgs e)
2         {
3             foreach (char c in Path.GetInvalidFileNameChars())//得到不允許使用字符數組
4             {
5                 richTextBox1.Text += c + "\t";//輸出數組內容
6             }
7         }

(四):運行結果:

上一個例子中主要用到path類的GetInvalidFileNameChars方法,下面對其詳解:
path類用來對包含文件目錄或目錄路徑信息的String實例執行操作,其GetInvalidFileNameChars屬性主要用來獲取包含不允許在文件名使用的字符的數組。其格式語法如下:
public static char[] GetInvalidFileNameChars();
參數說明:
返回值:包含不允許在文件中使用的字符的數組。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM