自分向けのメモ。耄碌したのか同じことを何回も調べてたのでまとめ。
ファイル操作
存在する or 存在しないファイルに対してメソッドを実行したときの挙動
メソッド名 | 結果 | メッセージ |
---|---|---|
File.Copy | sourceFileName : FileNotFoundException | ファイル '${0}' が見つかりませんでした。 |
destFileName : IOException | ファイル '${0}' は既に存在します(ただしoverrideフラグを指定すれば出ない) | |
File.Delete | 何も起きない | |
File.Exists | 必ずfalse |
フォルダ操作
存在する or 存在しないフォルダに対してメソッドを実行したときの挙動
メソッド名 | 結果 | メッセージ |
---|---|---|
Dicectory.CreateDirectory | 何も起きない (*1) | |
Dicectory.Delete | 存在しない場合 DirectoryNotFoundException が発生 | |
Directory.Exists | 必ずfalse |
(*1) パスが正しければ中間フォルダを含めて作成される
(*2) 存在確認が必要ならあらかじめExistsする必要あり
DirecotryクラスにはCopyが存在しない。
まとめ
- Existsは例外が出ない。例外が出そうなときはfalseになる
- Deleteは対象がファイルとフォルダで挙動が違う