C# IO有關操作
阿新 • • 發佈:2019-02-06
一.讀取文字檔案
1/**//// <summary>
2/// 讀取文字檔案
3/// </summary>
4private void ReadFromTxtFile()
5{
6 if(filePath.PostedFile.FileName != "")
7 {
8 txtFilePath =filePath.PostedFile.FileName;
9 fileExtName = txtFilePath.Substring(txtFilePath.LastIndexOf(".")+1,3);
10
11 if(fileExtName !="txt" && fileExtName != "TXT")
12 {
13 Response.Write("請選擇文字檔案");
14 }
15 else
16 {
17 StreamReader fileStream = new StreamReader(txtFilePath,Encoding.Default);
18 txtContent.Text = fileStream.ReadToEnd();
19 fileStream.Close();
20 }
21 }
22 }
二.獲取檔案列表
1/**//// <summary>
2/// 獲取檔案列表
3/// </summary>
4private void GetFileList()
5{
6 string strCurDir,FileName,FileExt;
7
8 /**////檔案大小
9 long FileSize;
10
11 /**////最後修改時間;
12 DateTime FileModify;
13
14 /**////初始化
15 if(!IsPostBack)
16 {
17 /**////初始化時,預設為當前頁面所在的目錄
18 strCurDir = Server.MapPath(".");
19 lblCurDir.Text = strCurDir;
20 txtCurDir.Text = strCurDir;
21 }
22 else
23 {
24 strCurDir = txtCurDir.Text;
25 txtCurDir.Text = strCurDir;
26 lblCurDir.Text = strCurDir;
27 }
28 FileInfo fi;
29 DirectoryInfo dir;
30 TableCell td;
31 TableRow tr;
32 tr = new TableRow();
33
34 /**////動態新增單元格內容
35 td = new TableCell();
36 td.Controls.Add(new LiteralControl("檔名"));
37 tr.Cells.Add(td);
38 td = new TableCell();
39 td.Controls.Add(new LiteralControl("檔案型別"));
40 tr.Cells.Add(td);
41 td = new TableCell();
42 td.Controls.Add(new LiteralControl("檔案大小"));
43 tr.Cells.Add(td);
44 td = new TableCell();
45 td.Controls.Add(new LiteralControl("最後修改時間"));
46 tr.Cells.Add(td);
47
48 tableDirInfo.Rows.Add(tr);
49
50 /**////針對當前目錄建立目錄引用物件
51 DirectoryInfo dirInfo = new DirectoryInfo(txtCurDir.Text);
52
53 /**////迴圈判斷當前目錄下的檔案和目錄
54 foreach(FileSystemInfo fsi in dirInfo.GetFileSystemInfos())
55 {
56 FileName = "";
57 FileExt = "";
58 FileSize = 0;
59
60 /**////如果是檔案
61 if(fsi is FileInfo)
62 {
63 fi = (FileInfo)fsi;
64
65 /**////取得檔名
66 FileName = fi.Name;
67
68 /**////取得檔案的副檔名
69 FileExt = fi.Extension;
70
71 /**////取得檔案的大小
72 FileSize = fi.Length;
73
74 /**////取得檔案的最後修改時間
75 FileModify = fi.LastWriteTime;
76 }
77
78 /**////否則是目錄
79 else
80 {
81 dir = (DirectoryInfo)fsi;
82
83 /**////取得目錄名
84 FileName = dir.Name;
85
86 /**////取得目錄的最後修改時間
87 FileModify = dir.LastWriteTime;
88
89 /**////設定檔案的副檔名為"資料夾"
90 FileExt = "資料夾";
91 }
92
93 /**////動態新增表格內容
94 tr = new TableRow();
95 td = new TableCell();
96 td.Controls.Add(new LiteralControl(FileName));
97 tr.Cells.Add(td);
98 td = new TableCell();
99 td.Controls.Add(new LiteralControl(FileExt));
100 tr.Cells.Add(td);
101 td = new TableCell();
102 td.Controls.Add(new LiteralControl(FileSize.ToString()+"位元組"));
103 tr.Cells.Add(td);
104 td = new TableCell();
105 td.Controls.Add(new LiteralControl(FileModify.ToString("yyyy-mm-dd hh:mm:ss")));
106 tr.Cells.Add(td);
107 tableDirInfo.Rows.Add(tr);
108 }
109}
1/**//// <summary>
2/// 讀取文字檔案
3/// </summary>
4private void ReadFromTxtFile()
5{
6 if(filePath.PostedFile.FileName != "")
7 {
8 txtFilePath =filePath.PostedFile.FileName;
9 fileExtName = txtFilePath.Substring(txtFilePath.LastIndexOf(".")+1,3);
10
11 if(fileExtName !="txt" && fileExtName != "TXT")
12 {
13 Response.Write("請選擇文字檔案");
14 }
15 else
16 {
17 StreamReader fileStream = new StreamReader(txtFilePath,Encoding.Default);
18 txtContent.Text = fileStream.ReadToEnd();
19 fileStream.Close();
20 }
21 }
22 }
二.獲取檔案列表
1/**//// <summary>
2/// 獲取檔案列表
3/// </summary>
4private void GetFileList()
5{
6 string strCurDir,FileName,FileExt;
7
8 /**////檔案大小
9 long FileSize;
10
11 /**////最後修改時間;
12 DateTime FileModify;
13
14 /**////初始化
15 if(!IsPostBack)
16 {
17 /**////初始化時,預設為當前頁面所在的目錄
18 strCurDir = Server.MapPath(".");
19 lblCurDir.Text = strCurDir;
20 txtCurDir.Text = strCurDir;
21 }
22 else
23 {
24 strCurDir = txtCurDir.Text;
25 txtCurDir.Text = strCurDir;
26 lblCurDir.Text = strCurDir;
27 }
28 FileInfo fi;
29 DirectoryInfo dir;
30 TableCell td;
31 TableRow tr;
32 tr = new TableRow();
33
34 /**////動態新增單元格內容
35 td = new TableCell();
36 td.Controls.Add(new LiteralControl("檔名"));
37 tr.Cells.Add(td);
38 td = new TableCell();
39 td.Controls.Add(new LiteralControl("檔案型別"));
40 tr.Cells.Add(td);
41 td = new TableCell();
42 td.Controls.Add(new LiteralControl("檔案大小"));
43 tr.Cells.Add(td);
44 td = new TableCell();
45 td.Controls.Add(new LiteralControl("最後修改時間"));
46 tr.Cells.Add(td);
47
48 tableDirInfo.Rows.Add(tr);
49
50 /**////針對當前目錄建立目錄引用物件
51 DirectoryInfo dirInfo = new DirectoryInfo(txtCurDir.Text);
52
53 /**////迴圈判斷當前目錄下的檔案和目錄
54 foreach(FileSystemInfo fsi in dirInfo.GetFileSystemInfos())
55 {
56 FileName = "";
57 FileExt = "";
58 FileSize = 0;
59
60 /**////如果是檔案
61 if(fsi is FileInfo)
62 {
63 fi = (FileInfo)fsi;
64
65 /**////取得檔名
66 FileName = fi.Name;
67
68 /**////取得檔案的副檔名
69 FileExt = fi.Extension;
70
71 /**////取得檔案的大小
72 FileSize = fi.Length;
73
74 /**////取得檔案的最後修改時間
75 FileModify = fi.LastWriteTime;
76 }
77
78 /**////否則是目錄
79 else
80 {
81 dir = (DirectoryInfo)fsi;
82
83 /**////取得目錄名
84 FileName = dir.Name;
85
86 /**////取得目錄的最後修改時間
87 FileModify = dir.LastWriteTime;
88
89 /**////設定檔案的副檔名為"資料夾"
90 FileExt = "資料夾";
91 }
92
93 /**////動態新增表格內容
94 tr = new TableRow();
95 td = new TableCell();
96 td.Controls.Add(new LiteralControl(FileName));
97 tr.Cells.Add(td);
98 td = new TableCell();
99 td.Controls.Add(new LiteralControl(FileExt));
100 tr.Cells.Add(td);
101 td = new TableCell();
102 td.Controls.Add(new LiteralControl(FileSize.ToString()+"位元組"));
103 tr.Cells.Add(td);
104 td = new TableCell();
105 td.Controls.Add(new LiteralControl(FileModify.ToString("yyyy-mm-dd hh:mm:ss")));
106 tr.Cells.Add(td);
107 tableDirInfo.Rows.Add(tr);
108 }
109}