c# 对文件的操作
上一篇 / 下一篇 2009-02-15 23:27:23 / 个人分类:软件开发相关
1208328177
- 自动化测试:
- 测试文档:
2/// 获取文件列表
,sVm`U"LJ7Th0 3/// </summary>
U[Hv|m${w0 4private void GetFileList()
ME uF'aV0 5{
%z-~*FO~ b0 6 string strCurDir,FileName,FileExt;
&\`)R%j,{yAp0 7
1X6Gz6U k[A0 8 /**////文件大小51Testing软件测试网R}-x6vPQ k
9 long FileSize;
aT6D s Gbv9|]010
*njC0L'^lZ-W011 /**////最后修改时间;51Testing软件测试网qC g!i ?QR,h m-{
12 DateTime FileModify;
'p^ vQtP7\Nl [01351Testing软件测试网'mG,qQ^
14 /**////初始化
*Y9JrtxY ?jn015 if(!IsPostBack)
*J` v;OH'v X016 {
T2p2uB z+zF\017 /**////初始化时,默认为当前页面所在的目录
Ne)v%ph[D@Vq!s018 strCurDir = Server.MapPath(".");
tGb| Fg*s"W_)~019 lblCurDir.Text = strCurDir;
(V!h q9x` X020 txtCurDir.Text = strCurDir;51Testing软件测试网t(Q7RP(nnp
21 }
z{+W0]8n7q022 else
1Kr#?xVG{3v023 {51Testing软件测试网RLRNGU u8vg"W
24 strCurDir = txtCurDir.Text;51Testing软件测试网#{gqn ?3b~
25 txtCurDir.Text = strCurDir;51Testing软件测试网+T9tI.InpI5z;VX+kf
26 lblCurDir.Text = strCurDir;51Testing软件测试网_N,@~*W0]
27 }51Testing软件测试网3_#c4`e2Y O&tS*U
28 FileInfo fi;
|,Y_Xr029 DirectoryInfo dir;
.x7s1~ s |P030 TableCell td;
p_} hYEL[031 TableRow tr;
5Z:Q*Y%}8H2`5h/H)u,J032 tr = new TableRow();
H"t J.PP;mu033
*F.c E]'j?$s5dS4[034 /**////动态添加单元格内容
:Y5[x ^Z035 td = new TableCell();
QXU*[(u(m,~036 td.Controls.Add(new LiteralControl("文件名"));51Testing软件测试网-X+P%KQ8U[
37 tr.Cells.Add(td);51Testing软件测试网c6I*J3Yb/y0R
38 td = new TableCell();
:V|;H7P$HxX*YB8_a~039 td.Controls.Add(new LiteralControl("文件类型"));51Testing软件测试网8R{*O4P"B
40 tr.Cells.Add(td);
&by.f1Mb+VN041 td = new TableCell();
&_LHj%i+{;W0F ln,hl042 td.Controls.Add(new LiteralControl("文件大小"));
u Z Q&Qo*O2n6N/C043 tr.Cells.Add(td);51Testing软件测试网'Z,g6Tq,_;e.{&a4R
44 td = new TableCell();51Testing软件测试网,WE A}*}3o
45 td.Controls.Add(new LiteralControl("最后修改时间"));
0ac N _p~ s2^ p046 tr.Cells.Add(td);
Z\WfY[04751Testing软件测试网]:z!zpt
48 tableDirInfo.Rows.Add(tr);
m:f9{t*OvC049 51Testing软件测试网Xa#EC9kSV.L` d
50 /**////针对当前目录建立目录引用对象
?y:[0Ok:j}w*B051 DirectoryInfo dirInfo = new DirectoryInfo(txtCurDir.Text);
;r%~-CL9c5au[052 51Testing软件测试网 v Tw&{.^9v
53 /**////循环判断当前目录下的文件和目录
"SPdn\054 foreach(FileSystemInfo fsi in dirInfo.GetFileSystemInfos())
'm\2vy2pt055 {
4qu5_3l,Bvx3fP)n056 FileName = "";
9CJ%d.e8eh057 FileExt = "";51Testing软件测试网ktH3CKEVEA`
58 FileSize = 0;
0X S8[ [NS059 51Testing软件测试网IDt dI V\(i
60 /**////如果是文件51Testing软件测试网1r5k\.j3p3s8UPo
61 if(fsi is FileInfo)
7U,i'Z,N8l?062 {51Testing软件测试网^+X4sES(S
63 fi = (FileInfo)fsi;
x\M6R J-[064
)?(nU Ej.s065 /**////取得文件名51Testing软件测试网 Rc/Nd8VEJ
66 FileName = fi.Name;
9oN"yJ:AE}~B+P067
(^B9S?-~2Qg1C068 /**////取得文件的扩展名51Testing软件测试网HU$g'eV;NS#U{
69 FileExt = fi.Extension;51Testing软件测试网`LnT#DZ{9ln
70 51Testing软件测试网8[i M*W/Yq}Y
71 /**////取得文件的大小51Testing软件测试网~`[U'Q
72 FileSize = fi.Length;51Testing软件测试网A%ys({.L@
73
1_,O1k2j V)@^1e074 /**////取得文件的最后修改时间51Testing软件测试网%s H$cjE$]+fug*h
75 FileModify = fi.LastWriteTime;51Testing软件测试网:Sjyc1p B@
76 }51Testing软件测试网3j+kU8I0g#g4M8q z
7751Testing软件测试网;tE'A@n+{4b;Hy~Q
78 /**////否则是目录51Testing软件测试网3B \+j/IT
79 else
,@x!uj?d080 {
qB!?)Qy[5U081 dir = (DirectoryInfo)fsi;
@{h1O1Z6VkG082
Ae6be4`6V0]6~$MU083 /**////取得目录名
&ms|U+J O5~^9p084 FileName = dir.Name;
$HA&|)~+w&U085 51Testing软件测试网t#xQi-cyB5J
86 /**////取得目录的最后修改时间
lQbUDw&[\087 FileModify = dir.LastWriteTime;
)~+Jg2d)M(t6t+U?I@088
#P3h!Dy X P1vd089 /**////设置文件的扩展名为"文件夹"51Testing软件测试网S1ara7z8whF
90 FileExt = "文件夹";51Testing软件测试网 [~8y(Khy"z p
91 }
7E5H4i:W1C0zQN,@c092
#M0N$c5Ss5zx093 /**////动态添加表格内容51Testing软件测试网&Xj.[0Rf B.U
94 tr = new TableRow();
J3mv!C?l`095 td = new TableCell();51Testing软件测试网8h.\/\/h0nJte
96 td.Controls.Add(new LiteralControl(FileName));51Testing软件测试网3pz.o)^#vjma
97 tr.Cells.Add(td);
:^{e]7JK7i[098 td = new TableCell();51Testing软件测试网8H gu(k*o:I.k dT
99 td.Controls.Add(new LiteralControl(FileExt));
/ZO#s0v/@/xb+T"|0100 tr.Cells.Add(td);
T|3G!}"y)L0101 td = new TableCell();51Testing软件测试网X(a9Ii4tT
102 td.Controls.Add(new LiteralControl(FileSize.ToString()+"字节"));51Testing软件测试网D$n"q6UPe a,\ZM
103 tr.Cells.Add(td);
*dWVu/[%k0104 td = new TableCell();51Testing软件测试网&ysFSUOq-JSk
105 td.Controls.Add(new LiteralControl(FileModify.ToString("yyyy-mm-dd hh:mm:ss")));
,P%E!FIsW}0106 tr.Cells.Add(td);51Testing软件测试网z$C*m:`'oB5N
107 tableDirInfo.Rows.Add(tr);51Testing软件测试网9`@8Ze&fzh%~7ON#|
108 }51Testing软件测试网H FJs)VD2D+O
109}51Testing软件测试网!xr5w0Cs`2Dp#}
三.读取日志文件
D3Ee4i6zw6Qu*V051Testing软件测试网X6H*?$zdu9t0kl1/**//// <summary>
3[;A(H*eeRTJ$h"o02/// 读取日志文件
Q7v!Sj*ux[;\03/// </summary>51Testing软件测试网9^-|?}:N}&t,I
4private void ReadLogFile()
o{["o FgQ05{
t3}Z/TI2MEFA06 /**////从指定的目录以打开或者创建的形式读取日志文件51Testing软件测试网3`5]&~8C'Q2t2iX!|
7 FileStream fs = new FileStream(Server.MapPath("upedFile")+"\\logfile.txt", FileMode.OpenOrCreate, FileAccess.Read);51Testing软件测试网csQ:R,Cy^N`v
8
e7RQjr5? G4f.nm09 /**////定义输出字符串
A9IE8NJ-[9Z3i010 StringBuilder utput = new StringBuilder();51Testing软件测试网/a!p6j(GE }
11 51Testing软件测试网^.b5X%et
12 /**////初始化该字符串的长度为0
)^,JI5C7M,\&C013 output.Length = 0;
0G+d9eT$tx014
"Y m5g'~ee'S015 /**////为上面创建的文件流创建读取数据流
xBjbo!U9E0X1TY016 StreamReader read = new StreamReader(fs);
u!g.e+q{8G7{017 51Testing软件测试网!z+l~4n{
i z"P
18 /**////设置当前流的起始位置为文件流的起始点
0Rh!T+j
Kue$Ann019 read.BaseStream.Seek(0, SeekOrigin.Begin);
%h
`,@V*bJ.Sh020
B#`&@
X:[ Y*R021 /**////读取文件
*kuY2i#m [022 while (read.Peek() > -1)
"GyF_'I9x#`e0{023 {51Testing软件测试网7u8z\E.VR
24 /**////取文件的一行内容并换行51Testing软件测试网zL;ZQF9g
25 output.Append(read.ReadLine() + "\n");
%qfS$`2D3LfC026 }51Testing软件测试网Vz)U)i1?
27
5GL QG-qZPz028 /**////关闭释放读数据流51Testing软件测试网D5B4@,r_ B;{O*nq
29 read.Close();
.G3P%Hl
w9xgl030 51Testing软件测试网,I!X ]f7y{2z9F:}bW
31 /**////返回读到的日志文件内容
*r;@/sE8@|Zy032 return output.ToString();
p7\Y^&X