- 在线时间
- 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;# j" o2 j+ ]# ~8 [3 q7 t9 L
using System.IO;3 ~$ ?3 _9 z; k
namespace ConsoleApplication16 ]+ L7 C- U; v1 l
{
' q& r8 w5 K3 ]4 _: G7 M /// <summary>
: k8 \1 V3 Y; ]- i; U4 @( b /// Class1 的摘要说明。% ]- J2 W( |; t+ p5 v8 j9 [
/// </summary>- P$ C; O6 G, `% C/ D
class Class1
! [9 [* @2 e+ ^! G( U( | {
1 E! {8 m; t# ~. B1 @, Q3 N /// <summary>/ S% ?, U* b" D. c+ u! e0 v" }
/// 应用程序的主入口点。 v. x. E; S/ D6 _1 Z9 A9 e9 H; ~7 z
/// </summary>
( i) J1 f1 S( ]# g) S [STAThread]6 E" [* ?0 ~% s! ^- ?4 u: H9 D
static void Main(string[] args)) J' W; }6 E, I/ @0 x
{1 B' O; l: L6 l3 n+ u
//
) T& ]8 S& h( w9 x0 M+ L // TOD 在此处添加代码以启动应用程序
+ q" _; T6 Q* C# c) m2 ?" R$ R //</P>
9 p1 g! v. I2 p< > Class1 t = new Class1();</P>6 s; h3 a. z8 p6 x! c. B- g& ]* W
< > string theDirectory = @"C:\WINDOWS";</P>$ k4 y; i! Y' S6 o2 g9 i) c- C
< > DirectoryInfo dir = new DirectoryInfo(theDirectory);</P>/ m5 c/ u( D9 h9 k2 i3 \
< > t.ExploreDirectory(dir);
$ \! {' L/ G0 b6 F B, I$ l Console.WriteLine("\n\n{0} directories found.\n", dirCounter);
" B, }& A2 {" ?& D// Console.WriteLine("\n\n{0} files in {1} directories found.\n", fileCounter, dirCounter);
( F+ N# E7 J. @ }</P>
) X% F% \7 K6 m$ i) M< > private void ExploreDirectory(DirectoryInfo dir)6 T! l; {! D, `4 B. j1 I, }8 V4 |& Z
{4 j: t0 G% x$ z9 Y
indentLevel++;</P>
4 k2 X) _5 h+ L* d3 _- d$ i< > for (int i = 0; i < indentLevel; i++)
! A8 c& l. r N* w8 N Console.Write(" ");</P>
& {# h4 l- S1 z' p3 `# u0 b< > Console.WriteLine("[{0}] {1} [{2}]\n", indentLevel, dir.Name, dir.LastWriteTime);</P>. n7 Y2 O N6 P6 x3 M+ L
< >// FileInfo[] fileInDir = dir.GetFiles();+ c+ q7 j, q( ? a) r
// foreach (FileInfo file in fileInDir)
# v9 M5 P2 v5 b- G5 i, f; d; L& h// {. G2 q4 b) k3 u- o* Y2 L$ X. o; A
// for (int i = 0; i < indentLevel; i++)2 _* u3 [8 H0 Q' R/ L2 O
// Console.Write(" ");
0 R/ G) A$ m/ @1 j! k* P//
( t! Z1 ^' t9 v$ D& g5 |: ~; g// Console.WriteLine("{0} [{1}] Size: {2} bytes", file.Name, file.LastWriteTime, file.Length);, ?5 @# G% u. a$ o1 z( F& l
// fileCounter++;9 ]9 A7 x! _" R k- [- m
// }</P>( y5 b0 R' a( ]5 V1 y9 {
< > DirectoryInfo[] directories = dir.GetDirectories();
6 U' O1 [' I/ o% @/ _+ \1 { foreach (DirectoryInfo newDir in directories)
* O! u) j5 X0 G* n8 o, i7 \# O {0 `, Y) _8 a4 V
dirCounter++;" L7 b- p3 l4 F( U T/ w& w
ExploreDirectory(newDir);
* N$ y: ^- |* I }</P>
& a7 J# r1 [7 S< > indentLevel--;
& H% Y! C3 M0 K- ]" F }</P>7 ~8 M3 }0 m4 R' g Z& u
< > private static int dirCounter = 1;//计数目录: O. c! i% ]. j- P1 k( l
private static int indentLevel = -1;//目录进缩
( s2 ~2 F2 o" G' J2 |% K9 E0 D// private static int fileCounter = 0;//计数文件3 v" {# D7 J! j5 e
}3 Y. _: z4 `( \* n4 w5 h
}</P> |
|