例11-1 FindDuplicateFiles プログラムのMain メソッド
この例は StartingPoint ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの11行目以降に相当します。
例11-2 コマンドラインの使用方法を出力
この例は StartingPoint ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの51行目以降に相当します。
例11-3 発見したファイルを追跡するための型
この例は StartingPoint ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる FileNameGroup.cs ファイルの6行目以降、ならびに FileDetails.cs ファイルの5行目以降に相当します。
例11-4 InspectDirectories メソッド
この例は StartingPoint ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの65行目以降に相当します。
例11-5 ディレクトリ内のファイル名を取得
この例は StartingPoint ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの70行目以降に相当します。
例11-6 カレントディレクトリの設定
この例は SetDirectory ディレクトリ以下の SetDirectory.sln ソリューションに含まれる Program.cs ファイルの11行目以降に相当します。
例11-7 フルパスではないファイル名の取得
この例は StartingPoint ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの84行目以降に相当します。
例11-8 ファイルサイズの取得
この例は StartingPoint ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの88行目以降に相当します。
例11-9 DisplayMatches
この例は StartingPoint ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの105行目以降に相当します。
例11-10 /test スイッチの追加
この例は WithTest ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの11行目以降に相当します。
例11-11 ファイルの削除
この例は TemporaryFiles ディレクトリ以下の TemporaryFiles.sln ソリューションに含まれる Program.cs ファイルの11行目以降に相当します。
例11-12 ランダムファイル名の表示
この例は TemporaryFiles ディレクトリ以下の TemporaryFiles.sln ソリューションに含まれる Program.cs ファイルの28行目以降に相当します。
例11-13 特殊フォルダのパスを取得
この例は WellKnownFolders ディレクトリ以下の WellKnownFolders.sln ソリューションに含まれる Program.cs ファイルの10行目以降に相当します。
例11-14 テストディレクトリの作成
この例は WithTest ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの155行目以降に相当します。
例11-15 新しいディレクトリへのアクセスコントロールを設定する
この例は PermissionsAndFiles ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの160行目以降に相当します。
例11-16 アクセス権限の拒否
この例は PermissionsAndFiles ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの179行目以降に相当します。
例11-17 ディレクトリの削除
この例は PermissionsAndFiles ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの205行目以降に相当します。
例11-18 テストディレクトリにおけるファイルの作成
この例は PermissionsAndFiles ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの200行目以降に相当します。
例11-19 CreateTestFiles メソッド
この例は PermissionsAndFiles ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの214行目以降に相当します。
例11-20 文字列を新しいファイルに書き込む
この例は PermissionsAndFiles ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの245行目以降に相当します。
例11-21 StreamWriter の作成
この例は StreamWriterExample ディレクトリ以下の StreamWriterExample.sln ソリューションに含まれる Program.cs ファイルの10行目以降に相当します。
例11-22 StreamWriter による文字列書き込み
この例は StreamWriterExample ディレクトリ以下の StreamWriterExample.sln ソリューションに含まれる Program.cs ファイルの10行目以降に相当します。
例11-23 疑わしいFile.Exists メソッド
この例は ErrorHandling ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの281行目以降に相当します。
例11-24 I/O 例外を扱う最初の努力
この例は ErrorHandling ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの55行目以降に相当します。
例11-25 権限の禁止
この例は ErrorHandling ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの288行目以降に相当します。
例11-26 アクセス権限テスト用にMakeTestDirectories を変更
この例は ErrorHandling ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの211行目以降に相当します。
例11-27 ディレクトリに対するアクセス権限の付与
この例は ErrorHandling ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの306行目以降に相当します。
例11-28 ディレクトリの走査
この例は ErrorHandling ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの119行目以降に相当します。
例11-29 ヘルパーメソッドとして例外処理を行う
この例は FinerGrainedErrorHandling ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの322行目以降に相当します。
例11-30 エラーを想定した走査
この例は FinerGrainedErrorHandling ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの120行目以降に相当します。
例11-31 FileInfo からのエラーを処理
この例は FinerGrainedErrorHandling ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの345行目以降に相当します。
例11-32 エラーを処理しつつ詳細を取得する
この例は FinerGrainedErrorHandling ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの130行目以降に相当します。
例11-33 内容を比較するようにDisplayMatches を修正
この例は CompareInMemory ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの141行目以降に相当します。
例11-34 ファイル内の情報を表すクラス
この例は CompareInMemory ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる FileContents.cs ファイルの5行目以降に相当します。
例11-35 バイナリファイルの内容の読み込み
この例は CompareInMemory ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの174行目以降に相当します。
例11-36 CompareFiles メソッド
この例は CompareInMemory ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの190行目以降に相当します。
例11-37 重複する可能性のある組み合わせを生成
この例は CompareInMemory ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの202行目以降に相当します。
例11-38 重複ファイルの表示
この例は CompareInMemory ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの219行目以降に相当します。
例11-39 重複の可能性があるすべてのファイル同士をbyte 単位で比較
この例は CompareInMemory ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの252行目以降に相当します。
例11-40 ストリームからの読み込み
この例は LoadWholeStream ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの510行目以降に相当します。
例11-41 FileStream を使用するFileContents
この例は StreamCompare ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる FileContents.cs ファイルの6行目以降に相当します。
例11-42 LoadFiles の変更
この例は StreamCompare ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの188行目以降に相当します。
例11-43 DisplayMatches 内でストリームを閉じる
この例は StreamCompare ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの166行目以降に相当します。
例11-44 Stream-based CompareBytes
この例は StreamCompare ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの258行目以降に相当します。
例11-45 ストリームベースのCompareBytes
この例は StreamCompare ディレクトリ以下の DuplicateFinder.sln ソリューションに含まれる Program.cs ファイルの308行目以降に相当します。
例11-46 1 つのストリームから別のストリームへのコピー
この例は CopyStream ディレクトリ以下の CopyStream.sln ソリューションに含まれる Program.cs ファイルの9行目以降に相当します。
例11-47 非同期ファイルI/O
この例は RequestAsync ディレクトリ以下の AsyncIo.sln ソリューションに含まれる Program.cs ファイルの9行目以降に相当します。
例11-48 非同期的な振る舞いを要求しない
この例は RequestNotAsync ディレクトリ以下の AsyncIo.sln ソリューションに含まれる Program.cs ファイルの13行目以降に相当します。
例11-49 ストア内でフォルダとファイルを作成
この例は Isolated ディレクトリ以下の Isolated.sln ソリューションに含まれる Program.cs ファイルの10行目以降に相当します。
例11-50 StreamReader とStreamWriter を分離ストレージに対して使用する
この例は Isolated ディレクトリ以下の Isolated.sln ソリューションに含まれる Program.cs ファイルの28行目以降に相当します。
例11-51 暗号ストリームの利用
この例は Crypto ディレクトリ以下の Crypto.sln ソリューションに含まれる Program.cs ファイルの10行目以降に相当します。
例11-52 キーとIV の作成
この例は Crypto ディレクトリ以下の Crypto.sln ソリューションに含まれる Program.cs ファイルの26行目以降に相当します。
例11-53 文字列の暗号化
この例は Crypto ディレクトリ以下の Crypto.sln ソリューションに含まれる Program.cs ファイルの36行目以降に相当します。
例11-54 Base64 への変換
この例は Crypto ディレクトリ以下の Crypto.sln ソリューションに含まれる Program.cs ファイルの64行目以降に相当します。
例11-55 復号化
この例は Crypto ディレクトリ以下の Crypto.sln ソリューションに含まれる Program.cs ファイルの71行目以降に相当します。