Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo DirectoryInfo.GetFileSystemInfos ()

 

Data di pubblicazione: ottobre 2016

Restituisce una matrice di voci FileSystemInfo fortemente tipizzate che rappresenta tutti i file e le sottodirectory in una directory.

Spazio dei nomi:   System.IO
Assembly:  mscorlib (in mscorlib.dll)

public FileSystemInfo[] GetFileSystemInfos()

Valore restituito

Type: System.IO.FileSystemInfo[]

Matrice di voci FileSystemInfo fortemente tipizzate.

Exception Condition
DirectoryNotFoundException

Il percorso non è valido, ad esempio si trova in un'unità non mappata.

Se non esistono file o directory di DirectoryInfo, questo metodo restituisce una matrice vuota. Questo metodo non è ricorsiva.

Per le sottodirectory, il FileSystemInfo possono eseguire il cast di oggetti restituiti da questo metodo alla classe derivata DirectoryInfo. Utilizzare il FileAttributes valore restituito dalla FileSystemInfo.Attributes proprietà per determinare se il FileSystemInfo rappresenta un file o una directory.

Questo metodo esegue un popolamento preliminare i valori degli elementi seguenti FileSystemInfo proprietà:

Nell'esempio seguente viene contato il file e directory nella directory specificata.

using System;
using System.IO;

class DirectoryFileCount
{

    static long files = 0;
    static long directories = 0;


    static void Main()
    {
        try
        {
            Console.WriteLine("Enter the path to a directory:");

            string directory = Console.ReadLine();

            // Create a new DirectoryInfo object.
            DirectoryInfo dir = new DirectoryInfo(directory);

            if (!dir.Exists)
            {
                throw new DirectoryNotFoundException("The directory does not exist.");
            }

            // Call the GetFileSystemInfos method.
            FileSystemInfo[] infos = dir.GetFileSystemInfos();

            Console.WriteLine("Working...");

            // Pass the result to the ListDirectoriesAndFiles
            // method defined below.
            ListDirectoriesAndFiles(infos);

            // Display the results to the console. 
            Console.WriteLine("Directories: {0}", directories);
            Console.WriteLine("Files: {0}", files);

        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
        finally
        {

            Console.ReadLine();
        }
    }

    static void ListDirectoriesAndFiles(FileSystemInfo[] FSInfo)
    {
        // Check the FSInfo parameter.
        if (FSInfo == null)
        {
            throw new ArgumentNullException("FSInfo");
        }

        // Iterate through each item.
        foreach (FileSystemInfo i in FSInfo)
        {
            // Check to see if this is a DirectoryInfo object.
            if (i is DirectoryInfo)
            {
                // Add one to the directory count.
                directories++;

                // Cast the object to a DirectoryInfo object.
                DirectoryInfo dInfo = (DirectoryInfo)i;

                // Iterate through all sub-directories.
                ListDirectoriesAndFiles(dInfo.GetFileSystemInfos());
            }
            // Check to see if this is a FileInfo object.
            else if (i is FileInfo)
            {
                // Add one to the file count.
                files++;

            }

        }
    }
}

Universal Windows Platform
Disponibile da 10
.NET Framework
Disponibile da 1.1
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: