- 在线时间
- 8 小时
- 最后登录
- 2016-1-23
- 注册时间
- 2004-5-7
- 听众数
- 1
- 收听数
- 0
- 能力
- 0 分
- 体力
- 610 点
- 威望
- 0 点
- 阅读权限
- 30
- 积分
- 218
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 70
- 主题
- 26
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   59% TA的每日心情 | 怒 2014-2-22 20:49 |
|---|
签到天数: 13 天 [LV.3]偶尔看看II
群组: 2014美赛MCMA题备战群 群组: 2014美赛MCMB题备战群 |
查看子目录及文件(C#)
< >using System;
; M: {- o9 s1 Fusing System.IO;: ?! B# J# \6 O: M# z9 N
namespace ConsoleApplication1* [) T! e' u @1 |' m" o
{
m- @' O0 E6 @ /// <summary>7 M/ `8 j) ?% n- d7 A5 Z4 c
/// Class1 的摘要说明。( Y2 u+ G1 k: ~
/// </summary>
- D: m; Q8 R Y6 [( [. P/ r class Class1
0 K" \# L) Y. u8 O2 v9 U3 i {
, b9 ^- ]0 [' w; E /// <summary>
4 t- K& o. D1 Q% B8 Q) I/ w /// 应用程序的主入口点。1 j3 K* ?" o0 y ^! t0 U+ M- a
/// </summary>
9 }* Z# J+ T# X [STAThread]
; l7 I# e8 T* _( G$ Y3 T static void Main(string[] args)
3 H7 q+ K* @( ]/ d! c {) @0 q7 M2 s6 ?; e J
//) L k" D( c+ {3 ]6 x3 v. R3 E
// TOD 在此处添加代码以启动应用程序- z2 c# I; D. K4 w* ~1 U6 k; d4 b
//</P>1 M. n3 ]5 d) S1 i5 T: a
< > Class1 t = new Class1();</P>& n5 p& H- k8 {# A; P
< > string theDirectory = @"C:\WINDOWS";</P>1 q/ r: U$ n) B* E
< > DirectoryInfo dir = new DirectoryInfo(theDirectory);</P> k* W' M! V4 r& E
< > t.ExploreDirectory(dir);
0 G$ |( E }# j. o. m, p3 q Console.WriteLine("\n\n{0} directories found.\n", dirCounter);
7 h& v5 C- ?9 T! [// Console.WriteLine("\n\n{0} files in {1} directories found.\n", fileCounter, dirCounter);8 F- S: ?5 d7 r4 B/ F
}</P>& P5 `5 T+ B5 K( r ?8 g6 F
< > private void ExploreDirectory(DirectoryInfo dir)3 }+ J/ X: s4 [9 w2 q
{1 h5 G% l' Q9 d* Z0 Q* _
indentLevel++;</P>
" d. r1 W- `/ ?* a, t! D< > for (int i = 0; i < indentLevel; i++)4 @2 c# ?3 m, \2 O& V6 F$ f% h( ^
Console.Write(" ");</P>
& l2 e0 t8 {7 \+ b< > Console.WriteLine("[{0}] {1} [{2}]\n", indentLevel, dir.Name, dir.LastWriteTime);</P>7 w" [9 p! E0 {4 u( W6 w( m
< >// FileInfo[] fileInDir = dir.GetFiles();
0 `: b9 D8 f, m, h// foreach (FileInfo file in fileInDir)
" g3 _5 X* F3 ?6 a; y1 M/ {; U// {
/ H! k* ~, R, p i, ^- C// for (int i = 0; i < indentLevel; i++)7 L: A! X/ L9 E& l6 O; a7 d
// Console.Write(" ");
( y& y" j9 n+ @- G+ y8 M, O//1 B" B8 r$ f A- a) |4 z
// Console.WriteLine("{0} [{1}] Size: {2} bytes", file.Name, file.LastWriteTime, file.Length);
/ B% ~! U: z! f% \8 M; e/ c// fileCounter++;, n0 L/ t0 v0 s% f
// }</P>% p. s5 n ?9 z1 W( k( R( l8 R7 c
< > DirectoryInfo[] directories = dir.GetDirectories();7 M. o4 z9 K" I3 R5 a) u& H
foreach (DirectoryInfo newDir in directories)) X( n& e5 x" ^* \& O
{3 l6 B# A3 X e- R9 b8 u& y
dirCounter++;
$ ~6 x$ e) v \3 Q% H ExploreDirectory(newDir);
9 D, E, E, ]* }$ } }</P>& u/ |- x; f8 O1 g) ~# l
< > indentLevel--;9 [4 U0 \# y, t$ V, |
}</P>
; w- P0 I* G8 r2 _< > private static int dirCounter = 1;//计数目录! X% \: o. ?) u% B* O
private static int indentLevel = -1;//目录进缩
+ y$ o2 S2 [1 o, ]* ]// private static int fileCounter = 0;//计数文件
V2 G+ O9 d/ L0 {3 B }
+ Q$ _- c" N# Z8 A# v" @}</P> |
|