- 在线时间
- 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;" B0 t; m. W5 e
using System.IO;% \" F4 u; h# B: n: I, {; K
namespace ConsoleApplication1/ T6 Q! N r* Q# s
{
* v7 T* f! z5 q: R" D- w8 w4 a /// <summary>0 A" K6 w+ ~1 G8 i! ~- _
/// Class1 的摘要说明。
- n) u: W+ g% H1 l/ K& ~ /// </summary>2 A: h9 W |5 s% l
class Class1! x" U$ X0 k: J2 R
{' y) w A: {# ?+ g9 J# y, ], K/ r6 l
/// <summary>
9 V U- X. y; s% h: X; I /// 应用程序的主入口点。
. o: G& H7 i% n' [2 R, V /// </summary>
& K" {) C T1 o: B1 l$ N [STAThread]; }3 B3 Q3 C) b5 u2 V* _
static void Main(string[] args)) T, X: v3 s. H& Q6 j2 |
{
$ S) m% ^" P4 i/ P8 V9 | //+ z1 Y8 P' I& _& l; i' G6 q: r; |3 K
// TOD 在此处添加代码以启动应用程序
0 R! V- B8 J9 Q5 K, p5 N! d1 U //</P>) c, v( K- _# |# k9 H/ K2 z) e
< > Class1 t = new Class1();</P>, Z4 y6 j# W8 C$ j
< > string theDirectory = @"C:\WINDOWS";</P>
# i% H0 N |; d; x0 E9 C8 W$ a< > DirectoryInfo dir = new DirectoryInfo(theDirectory);</P>
) X7 M* }! i% C( n$ G! ^< > t.ExploreDirectory(dir);- t4 y9 T) d5 |# ^( c- E [8 A
Console.WriteLine("\n\n{0} directories found.\n", dirCounter);$ s0 s/ V3 v" i0 M, f* V/ Q
// Console.WriteLine("\n\n{0} files in {1} directories found.\n", fileCounter, dirCounter);
7 ^/ p: E. z8 f* @ v: d }</P># e( `# }0 C! ?% {# Q! M3 B
< > private void ExploreDirectory(DirectoryInfo dir)
& u- ` b! }* { [! W. p: J8 o- } {8 y) B- l* ~- |4 u* T
indentLevel++;</P>
6 L: Y2 p3 ~& ?! Q0 ]% I" [4 _% V/ Q< > for (int i = 0; i < indentLevel; i++)
. X( o% L: O, O Console.Write(" ");</P> N) u, S4 Y, O# {# F* O+ u
< > Console.WriteLine("[{0}] {1} [{2}]\n", indentLevel, dir.Name, dir.LastWriteTime);</P>1 f! Z' B! _/ D+ e. [
< >// FileInfo[] fileInDir = dir.GetFiles();
! `1 s' s6 r, H0 N9 A// foreach (FileInfo file in fileInDir)
; c' B3 f& j7 B z5 g N// {0 S# |: C( g) H0 F* S
// for (int i = 0; i < indentLevel; i++)
* g! L% E2 O# e; }) k* Z" h// Console.Write(" ");
7 R9 _# W( l+ u( ]. i: X1 c) J//1 f* c8 I* Z, o# b) ?2 ]2 c
// Console.WriteLine("{0} [{1}] Size: {2} bytes", file.Name, file.LastWriteTime, file.Length);5 L9 W5 F! s/ [4 C7 @
// fileCounter++;
) e" G' t. [) _// }</P>: s0 M9 L- O7 Y1 M7 ^- o5 y, q! R
< > DirectoryInfo[] directories = dir.GetDirectories();- _, g2 n9 N' S& B+ L1 r
foreach (DirectoryInfo newDir in directories)
# n. ?/ a) y: n3 J$ N { K$ t% n4 z8 s: ~% y
dirCounter++;1 W! M. G% i {
ExploreDirectory(newDir); E) |2 \: H9 T+ s
}</P>
$ ^# v4 @8 j; i' w7 t( C< > indentLevel--;
9 ?- s% A! O: L) T1 S- U }</P>. \- W" Q V8 ]9 B' X& \+ @" X
< > private static int dirCounter = 1;//计数目录
4 B3 g" o1 Y" C; p" Q3 a5 |% l4 w private static int indentLevel = -1;//目录进缩
9 m; l4 \6 s+ O' G; A// private static int fileCounter = 0;//计数文件
- {0 g& ?% H0 \/ Z: ~ }- A8 m8 N. s1 ~7 d2 l$ _
}</P> |
|