老外编的程序(六)--目录操作

- 中国WEB开发者网络 (http://www.webasp.net)
-- 技术教程 (http://www.webasp.net/article/)
--- 老外编的程序(六)--目录操作 (http://www.webasp.net/article/5/4812.htm)
-- 作者:未知
-- 发布日期: 2003-07-12
// Takes an array of file names or directory names on the command line.  
// Determines what kind of name it is and processes it appropriately

using System;
using System.IO;
using System.Collections;

public class RecursiveFileProcessor {
    public static void Main(string[] args) {
        foreach(string path in args) {
            if(File.Exists(path)) {
                // This path is a file
                ProcessFile(path);
            }               
            else if(Directory.Exists(path)) {
                // This path is a directory
                ProcessDirectory(path);
            }
            else {
                Console.WriteLine("{0} is not a valid file or directory.", path);
            }        
        }        
    }

    // Process all files in the directory passed in, and recurse on any directories
    // that are found to process the files they contain
    public static void ProcessDirectory(string targetDirectory) {
        // Process the list of files found in the directory
        string [] fileEntries = Directory.GetFiles(targetDirectory);
        foreach(string fileName in fileEntries)
            ProcessFile(fileName);

        // Recurse into subdirectories of this directory
        string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
        foreach(string subdirectory in subdirectoryEntries)
            ProcessDirectory(subdirectory);
    }
        
    // Real logic for processing found files would go here.
    public static void ProcessFile(string path) {
        Console.WriteLine("Processed file '{0}'.", path);        
    }
}

webasp.net