2016年6月28日火曜日

[C#] ファイルシステム(File System) - FileInfo,DirectoryInfo

こんにちは。明月です。
今日から「C#」の文法ではなく「C#.NetFramework」でよく使うクラス、システムについて勉強します。


C#でプロジェクトを構築して実装する時によく使うクラスとネームスペースがあります。 それはファイルを扱うもののファイルシステム、通信する時に使うソケットシステム、データを構造的に構成するXMLシステム,Jsonシステム等で「C#.NetFramework」から様々なモジュールシステムを提供しています。


その中で今日からはファイルを扱うクラスについて勉強します。


ファイルシステムは基本的にファイルとディレクトリを扱うクラ組です。体表的にファイルを扱うクラスは「FileInfo」とディレクトリを扱うクラスは「DirectoryInfo」があります。


FileInfo


下記のアドレスリンクは「FileInfo」のクラスの説明です。接続して確認をしてください。


MSDNリンク - FileInfo クラス



FileInfoのクラスはファイルを扱うクラスです。ファイルのコピー、削除、移動、プロパティ情報を閲覧する場合に「FileInfo」クラスを利用して実装します。



上の例を見ると「test.txt」を読み込んで生成日付を出力しています。そしてファイルをコピーしてまた生成日付を取得して最終には削除する流れで実装されています。




結果を見ると「test2.txt」のファイルは生成してすぐ削除する流れなので、「work」のディレクトリの中には「test.txt」ファイルが見えないですね。


DirectoryInfo


下記のアドレスリンクは「DirectoryInfo」のクラスの説明です。接続して確認をしてください。


MSDNリンク - DirectoryInfo クラス



DirectoryInfoのクラスはディレクトリを扱うクラスです。ディレクトリのコピー、削除、移動、プロパティ情報を閲覧する場合に「DirectoryInfo」クラスを利用して実装されています。



上の例は「work」ディレクトリの生成日付を取得して出力していますね。後で「work」のディレクトリの中でファイルを取得して「FileInfo」のクラスに返却していますね。 そして下記ディレクトリの「create1」、「create2」を生成して「create2」のディレクトリは削除します。




結果としては「create2」ディレクトリを削除したので「create」ディレクトリだけあります。


今回の投稿には「FileInfo」、「DirectoryInfo」を通ってファイルとディレクトリを扱う方法について勉強しました。その以外に「File」、「Directory」クラスでもFileInfoとDiretoryInfoクラスみたいに実装が可能ですが、C#には「FileInfo」、「DirectoryInfo」を利用して実装するのをMSDNから推奨しているので「FileInfo」と「DiretoryInfo」で実装することを確実に認知しておくほうが良いと思います。

0 件のコメント