Traverse subfolders and files in a folder and compress the files
Void compression () {info = "processing... "; Directoryinfo folder = new directoryinfo (" C: \ Temp "); try {filesysteminfo [] files = folder. getfilesysteminfos (); For (INT I = 0; I <files. length; I ++) {compression (files [I]) ;}} catch (exception ex) {MessageBox. show (ex. message); return;} info = "compressed. ";} Void compression (filesysteminfo finfo) {If (! Finfo. exists) return; directoryinfo dir = finfo as directoryinfo; If (Dir! = NULL) {filesysteminfo [] files = NULL; try {files = dir. getfilesysteminfos ();} catch (exception ex) {MessageBox. show (ex. message); return ;}for (INT I = 0; I <files. length; I ++) {fileinfo file = files [I] As fileinfo; If (file! = NULL) {// is the file info = string. Format ("processing {0}", file. fullname); try {// compresses the file...} Catch {logger. error (string. format ("processing {0} failed", file. fullname) ;}} else {compression (files [I]) ;}} else {fileinfo file = finfo as fileinfo; Info = string. format ("processing {0}", file. fullname); try {// compress the file...} Catch {logger. Error (string. Format ("processing {0} failed", file. fullname ));}}}