- 在线时间
- 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;0 E+ V8 ~; Q9 F
using System.IO;
) B9 m' g- L: s9 U0 s' v$ Tnamespace ConsoleApplication1
9 b6 o9 U# y5 x{
+ N* W+ W, [4 Z/ U2 {* o /// <summary>
5 W" T3 x6 n% S- ~: D /// Class1 的摘要说明。' S, |, \2 [+ E$ S
/// </summary>
_" K- N! G% p- y$ b0 n class Class1+ M% C! C" G; n0 |7 x; i
{
% g6 i) O2 F# s9 `6 m% u8 P /// <summary>
8 [, d3 B- m* u: [# ~7 u3 R /// 应用程序的主入口点。
* N/ \# u" P% c: G" v6 P* _) e /// </summary>* x. E) _0 O: {8 s o
[STAThread]
# ^5 u( b! N3 ]9 `2 A9 s static void Main(string[] args)! H7 f, Y& l9 }# e5 Y9 I
{' c% o8 ^0 j _+ F( d1 _9 Y) `
//7 X F% @5 a, Z
// TOD 在此处添加代码以启动应用程序
2 z% x4 l" M$ a C0 w6 c) Y9 Z //</P>% Q* K+ m( E u0 h! q2 H
< > Class1 t = new Class1();</P>
# C# {* E* s+ m. X< > string theDirectory = @"C:\WINDOWS";</P>7 }7 W/ K) V) F7 x5 f+ r
< > DirectoryInfo dir = new DirectoryInfo(theDirectory);</P>
+ M5 Z7 p# v0 [5 j9 t< > t.ExploreDirectory(dir);
+ j8 |$ L4 L8 |( l7 X Console.WriteLine("\n\n{0} directories found.\n", dirCounter);6 y( c* p& \. P+ ?- t& F" u
// Console.WriteLine("\n\n{0} files in {1} directories found.\n", fileCounter, dirCounter);
- C; a- a9 r6 d2 O, }& m! d$ O }</P>
& O0 U. P8 b$ f: Y- q< > private void ExploreDirectory(DirectoryInfo dir)
9 d- J) E' `$ a {
$ C8 N7 n: S& }& }, r" W d2 S% Q indentLevel++;</P>- c1 [- ^& z6 M! ^3 P. i% v3 t
< > for (int i = 0; i < indentLevel; i++)$ P* D! [7 T' z) U* l- L1 }
Console.Write(" ");</P>+ Y6 y6 j0 |+ r- R' N8 [; k
< > Console.WriteLine("[{0}] {1} [{2}]\n", indentLevel, dir.Name, dir.LastWriteTime);</P>
4 C1 u& e' S1 N< >// FileInfo[] fileInDir = dir.GetFiles();, F% `4 g4 M& [7 L) I
// foreach (FileInfo file in fileInDir)
3 C- g' d7 r4 e1 w! A) }$ G// {
2 h x- E! T4 w& e, S6 n& ]8 E// for (int i = 0; i < indentLevel; i++)
$ p- @* n& F: O3 @% o" J$ J3 e: ? N k// Console.Write(" ");
' V9 ~( w3 ^4 Z0 ^. N//$ N T( a' F( `
// Console.WriteLine("{0} [{1}] Size: {2} bytes", file.Name, file.LastWriteTime, file.Length);
, [3 F$ s) V7 q# i// fileCounter++;! @8 s. @: f; I' I
// }</P>
- \0 K* j% j* V9 Z+ Z0 c, l1 e, ~< > DirectoryInfo[] directories = dir.GetDirectories();) g- ]- `4 F4 N5 H% C& D9 [
foreach (DirectoryInfo newDir in directories)( f8 ^2 Z! j& [* U; z
{! F% C5 z$ _3 N! b* N+ Q$ T
dirCounter++;6 r2 E* q! |9 l. m" b Z8 I
ExploreDirectory(newDir);
* ]5 @, z1 c1 G7 |9 B }</P>
; t! h) Q" ~* S. ~: M+ h< > indentLevel--;
, U; }& S/ H$ K6 ]; n- }& |6 x }</P>8 _7 `2 E, L( {2 d8 X; S
< > private static int dirCounter = 1;//计数目录6 `5 s9 d' T8 k8 S8 s6 [( e4 _) L
private static int indentLevel = -1;//目录进缩 m8 K2 z+ b( {8 k5 K6 y
// private static int fileCounter = 0;//计数文件
* v; v. Z- ?7 J! q5 M6 @ }
: c* Z* J2 I% G}</P> |
|