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 (String)

 

Data di pubblicazione: ottobre 2016

Recupera una matrice di oggetti FileSystemInfo fortemente tipizzati che rappresenta i file e le sottodirectory corrispondenti ai criteri di ricerca specificati.

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

public FileSystemInfo[] GetFileSystemInfos(
	string searchPattern
)

Parametri

searchPattern
Type: System.String

Stringa di ricerca in base alla quale confrontare i nomi delle directory e dei file. Questo parametro può contenere una combinazione di caratteri letterali e caratteri jolly (* e ?) validi per un percorso (vedere la sezione Note), ma non le supporta espressioni regolari. Il criterio predefinito è "*" che restituisce tutti i file.

Valore restituito

Type: System.IO.FileSystemInfo[]

Matrice di oggetti FileSystemInfo fortemente tipizzati che corrispondono ai criteri di ricerca.

Exception Condition
ArgumentException

searchPattern contiene uno o più caratteri non validi definiti dal metodo GetInvalidPathChars.

ArgumentNullException

searchPattern è null.

DirectoryNotFoundException

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

SecurityException

Il chiamante non dispone dell'autorizzazione richiesta.

searchPattern può essere una combinazione di valore letterale e caratteri jolly caratteri, ma non supporta le espressioni regolari. I seguenti caratteri jolly sono consentiti in searchPattern.

Identificatore con caratteri jolly

Corrispondenze

* (asterisco)

Zero o più caratteri in tale posizione.

? (punto interrogativo)

Zero o un carattere in tale posizione.

I caratteri diversi dal carattere jolly sono caratteri letterali. Ad esempio, la stringa "* t" Cerca tutti i nomi che terminano con la lettera "t". ". Il searchPattern "s *" Cerca tutti i nomi di stringa path iniziano con la lettera "s".

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.

I caratteri jolly sono consentiti. Ad esempio, il searchPattern stringa "* t" Cerca tutti i nomi di directory in path che terminano con la lettera "t". Il searchPattern stringa "s *" Cerca tutti i nomi di directory in path iniziano con la lettera "s".

La stringa "..." può essere utilizzato solo searchPattern Se viene specificato come parte di un nome di directory valido, come nel nome della directory "un.. b". Non può essere usato per spostare verso l'alto della gerarchia di directory. Se sono non presenti alcun file o directory, o nessun file o directory che soddisfano il searchPattern stringa nel DirectoryInfo, questo metodo restituisce una matrice vuota.

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

Nell'esempio seguente viene contato il file e directory che corrispondono al criterio di ricerca specificato.

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();

            Console.WriteLine("Enter a search string (for example *p*):");

            string searchString = 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(searchString);

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

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

            // 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, string SearchString)
    {
        // Check the parameters.
        if (FSInfo == null)
        {
            throw new ArgumentNullException("FSInfo");
        }
        if (SearchString == null || SearchString.Length == 0)
        {
            throw new ArgumentNullException("SearchString");
        }

        // 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(SearchString), SearchString);
            }
            // Check to see if this is a FileInfo object.
            else if (i is FileInfo)
            {
                // Add one to the file count.
                files++;

            }

        }
    }
}

FileIOPermission

for reading from files and directories and for access to the path. Associated enumerations: F:System.Security.Permissions.FileIOPermissionAccess.Read, F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery

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: