- 在线时间
- 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;
' U6 z6 t& F6 j# p% |9 a* ?using System.IO;
: F* ], V# K' E( f# X& k# l5 ?1 ^4 Snamespace ConsoleApplication1
' w3 j1 I T' j3 F{0 v5 p* A5 l- d
/// <summary>1 G6 C2 n* E( X& S% a+ S P
/// Class1 的摘要说明。
( P) {$ b3 ]2 t1 C; M /// </summary>) ], C4 C8 D4 z8 x: L- V3 @5 @
class Class1
. y$ u( C3 h' N8 p. Q3 K {' x9 d6 e% w0 t; i" F4 p0 r/ |
/// <summary>
: R& b( O: [, F! N/ W' q# ^ /// 应用程序的主入口点。
/ H. b; g% x: i) m$ G( z /// </summary>
- m' \- N- {1 l6 V3 r [STAThread]6 i' a! ?, i' W. g; A I
static void Main(string[] args)1 Z8 m. q; c( m" m* F, K: c7 v5 e
{
! F) Q- I( Y+ M6 m) ]0 _. M% | //
, E, }; C+ N: K$ ^8 x# X4 `. H* f // TOD 在此处添加代码以启动应用程序: z, b" Z; c/ M2 y& U
//</P>! b4 h, n! X7 Z, \+ Q+ c' B, Z! N
< > Class1 t = new Class1();</P>
9 r W* O) F6 D. X" H( \< > string theDirectory = @"C:\WINDOWS";</P>
- a2 @ \* O6 @& Q8 M< > DirectoryInfo dir = new DirectoryInfo(theDirectory);</P> ^# c6 n1 J2 R8 i
< > t.ExploreDirectory(dir);
$ `% k! y/ V% j: U% {8 A; ~0 c( { Console.WriteLine("\n\n{0} directories found.\n", dirCounter);
0 |$ O4 ~' o2 x// Console.WriteLine("\n\n{0} files in {1} directories found.\n", fileCounter, dirCounter);6 @6 e% Z0 H( t: ]" N. L
}</P>
9 n0 N& E$ O- h< > private void ExploreDirectory(DirectoryInfo dir)
: k5 U6 X8 Q( X% N1 @ {
' B. f) {/ D8 o1 I7 [ indentLevel++;</P>
k! t; m; U1 t1 t< > for (int i = 0; i < indentLevel; i++)
* [, g, J, N6 X1 y! T Console.Write(" ");</P>
- X4 H1 c& i. _' q8 U< > Console.WriteLine("[{0}] {1} [{2}]\n", indentLevel, dir.Name, dir.LastWriteTime);</P>
. {+ M( Y; J0 n5 i2 o< >// FileInfo[] fileInDir = dir.GetFiles();6 q* e! w, m6 I) D3 J2 X
// foreach (FileInfo file in fileInDir)) d6 W* _* M) x* ^/ K9 h
// {
6 `6 x$ ]. x% x# Z2 y9 J% d1 q8 c// for (int i = 0; i < indentLevel; i++)
1 M$ O; S, d! D8 N5 R) e/ o3 C// Console.Write(" ");
d( H. I6 U* y" _" x; ]//
# w% j! @' e% o& ^7 W" B. w// Console.WriteLine("{0} [{1}] Size: {2} bytes", file.Name, file.LastWriteTime, file.Length);
% A. X5 |# f. T( n0 E( K// fileCounter++;5 I: E# _4 K: ~6 Y
// }</P>
" ?6 u- j& W' O' P% I+ Z2 @< > DirectoryInfo[] directories = dir.GetDirectories();( A" {: G X+ Y- Y) K7 W: D
foreach (DirectoryInfo newDir in directories)9 N' T ^- a- G
{
0 M$ E6 X: x. I7 n$ Q dirCounter++;
" t* \3 L' H! v: u8 p( s ExploreDirectory(newDir);
; u) t6 f# _( k3 x( T# T2 M/ E }</P>/ m- k/ x' r, J$ c7 \# d
< > indentLevel--;% S4 Z5 n, a% Q) }4 ^
}</P>/ r) ^1 t# V# {+ g: F( H
< > private static int dirCounter = 1;//计数目录
+ u! D3 c/ e0 p* P private static int indentLevel = -1;//目录进缩
. u& H9 q% J- N/ y6 o// private static int fileCounter = 0;//计数文件
% e9 N/ ]7 n: _ }3 B6 s" q6 l* G" p! H
}</P> |
|