- 在线时间
- 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;
) G$ R5 f- {; ]using System.IO;/ M8 m& d6 q! L2 A
namespace ConsoleApplication1
* k- D% W' s X- U. X8 m5 e- l/ L{
% g- ^9 B$ _9 ^# k) P2 {" p/ J /// <summary>% |" Q2 l6 D+ {' x, h! c' }+ m
/// Class1 的摘要说明。
3 J* e) }1 F; T/ o! f* x# S6 v /// </summary>. `% Y3 V5 I+ {2 {* w* `7 P
class Class1
4 u# A; q, T/ ~! K {! z, y7 z% B: m, a8 h5 o
/// <summary>5 u6 I; o( }" D( n( H. n, z6 v
/// 应用程序的主入口点。
# D0 D x/ c- E& k /// </summary>
: ]; v$ o7 q% |% I! `3 L' U [STAThread]
! f! [) d, c% f: l, e static void Main(string[] args)
8 H/ F2 Q' V7 c6 U5 T P2 ] {
+ N4 N) \/ Y: @ //- V3 Q5 {3 b% F& j5 z( V4 R! {' k
// TOD 在此处添加代码以启动应用程序
# j6 K1 i$ @$ F! A/ q, t0 j //</P>
8 p' q0 q+ [7 U% j3 v5 k< > Class1 t = new Class1();</P>! E7 I2 X. C& o; t
< > string theDirectory = @"C:\WINDOWS";</P>1 Q" m; c- ~7 n5 }
< > DirectoryInfo dir = new DirectoryInfo(theDirectory);</P>9 p6 X3 E$ q& Q# I$ a% f F# ^
< > t.ExploreDirectory(dir); ]) i7 ? j2 W5 s5 A# W
Console.WriteLine("\n\n{0} directories found.\n", dirCounter);2 |+ l) x+ @- O0 n ^: f
// Console.WriteLine("\n\n{0} files in {1} directories found.\n", fileCounter, dirCounter);
# ]( p6 M- @) F+ M; I b }</P>
& l/ E$ ^' w' [/ H) q/ F r& @< > private void ExploreDirectory(DirectoryInfo dir)
- q3 j& a) D$ K2 J* |" k1 S {. k' h& Y( h: K. l9 r- P
indentLevel++;</P>
3 R0 g4 E; ]$ T0 M# z. x8 W3 R< > for (int i = 0; i < indentLevel; i++)
7 ^0 i9 Z. Y+ \2 F Console.Write(" ");</P>
/ f/ ]2 O$ Q; C% {< > Console.WriteLine("[{0}] {1} [{2}]\n", indentLevel, dir.Name, dir.LastWriteTime);</P> I& g3 m0 ]3 P1 O- u
< >// FileInfo[] fileInDir = dir.GetFiles();2 {, k3 }: }0 L8 n" k
// foreach (FileInfo file in fileInDir)
, r: E* Q7 [7 k" r$ i// {
1 A1 Y9 |' Y9 J// for (int i = 0; i < indentLevel; i++)
8 c3 B+ V$ K/ m9 ~// Console.Write(" ");
! d1 K+ _3 m0 H" E//
+ A$ j4 L1 u2 s7 M/ A h// Console.WriteLine("{0} [{1}] Size: {2} bytes", file.Name, file.LastWriteTime, file.Length);
' Y T1 {0 `$ X; w% q& f* O// fileCounter++;
! d9 {! I6 k* d) N// }</P>
- E1 g8 F% G3 W< > DirectoryInfo[] directories = dir.GetDirectories();* j5 R# S9 C I2 q( D; L0 i0 {
foreach (DirectoryInfo newDir in directories)
! L# M0 i- d) z3 K# Q. y4 v {: r) H( r+ W3 h# ^% l
dirCounter++;* ~% s# C3 M7 `) T, ~
ExploreDirectory(newDir);
, F2 X( e6 E! q5 l" E h }</P>
6 ]1 n0 U9 Y k+ }. }6 [ S< > indentLevel--;
' p! @9 k% F- }$ e) j }</P>1 w% B4 f1 u/ m7 C1 y1 y
< > private static int dirCounter = 1;//计数目录4 n/ a/ P# B4 I2 W; Q
private static int indentLevel = -1;//目录进缩 z5 t* b+ C- P7 O. M5 [' h
// private static int fileCounter = 0;//计数文件
) U U$ s, e' ]. v5 ^9 l }
/ K0 w+ S1 j F4 Q+ L' I4 Y& d}</P> |
|