この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Directory.GetFiles メソッド (String)

 

公開日: 2016年10月

指定したディレクトリ内のファイルの名前 (パスを含む) を返します。

名前空間:   System.IO
アセンブリ:  mscorlib (mscorlib.dll 内)

public static string[] GetFiles(
	string path
)

パラメーター

path
Type: System.String

検索するディレクトリの相対パスまたは絶対パス。 この文字列の大文字と小文字は区別されません。

戻り値

Type: System.String[]

指定したディレクトリ内のファイルの完全名 (パスを含む) の配列。または、ファイルが見つからない場合は空の配列。

Exception Condition
IOException

path はファイル名です。

または

ネットワーク エラーが発生しました。

UnauthorizedAccessException

呼び出し元に、必要なアクセス許可がありません。

ArgumentException

path は長さ 0 の文字列か、空白のみで構成されているか、または 1 つ以上の正しくない文字を含んでいます。 正しくない文字を照会するには、GetInvalidPathChars メソッドを使用します。

ArgumentNullException

pathnull です。

PathTooLongException

指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。 たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満、ファイル名は 260 文字未満にする必要があります。

DirectoryNotFoundException

指定されたパスが見つからないか正しくありません (たとえば、マップされていないドライブにあるなど)。

EnumerateFilesGetFiles メソッドは次のように異なります: を使用すると EnumerateFiles, 、コレクション全体が返される前に、名前のコレクションの列挙を開始することができます。 使用すると GetFiles, 、配列にアクセスする前に返される名前の配列全体を待つ必要があります。 そのため、ときに使用する多数のファイルとディレクトリ、 EnumerateFiles 効率的であることができます。

返されたファイル名に付加する、指定された path パラメーター。

このメソッドを同じ GetFiles(String, String) アスタリスク (*)、検索パターンとして指定されているとします。

path パラメーターは、相対パスまたは絶対パス情報を指定できます。 相対パスの詳細については、現在の作業ディレクトリに対して相対的に解釈されます。 現在の作業ディレクトリを取得するには、次を参照してください。 GetCurrentDirectoryします。

返されるファイル名の順序は保証されません。使用して、 Sort メソッドの特定の並べ替え順序が必要な場合です。

path パラメーターは、大文字小文字を区別することはありません。

共通 I/O タスクの一覧は、次を参照してください。 共通 I/O タスクします。

次の例では、使用して、 GetFiles ユーザー指定の場所からファイル名を返すメソッド。 この例は、すべてのエラーがこのメソッドに共通に構成されます。

// For Directory.GetFiles and Directory.GetDirectories
// For File.Exists, Directory.Exists
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, recurse on any directories 
    // that are found, and 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);
    }

    // Insert logic for processing found files here.
    public static void ProcessFile(string path) 
    {
        Console.WriteLine("Processed file '{0}'.", path);	    
    }
}

FileIOPermission

for access to path information for the current directory. Associated enumeration: F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery

ユニバーサル Windows プラットフォーム
10 以降で使用可能
.NET Framework
1.1 以降で使用可能
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
トップに戻る
表示: