ラボ講座‎ > ‎Visual C#講座‎ > ‎

ファイル入出力関係


ファイル選択ダイアログ表示
OpenFileDialogクラスを利用します
OpenFileDialog ofd = new OpenFileDialog(); 
 //デフォルトフォルダ 
ofd.InitialDirectory =System.Environment.GetFolderPath(Environment.SpecialFolder.Personal);
//[ファイルの種類]に表示されるファイル拡張子(必要であれば)
ofd.Filter = "HTMLファイル(*.html;*.htm)|*.html;*.htm|すべてのファイル(*.*)|*.*"; 
//タイトルを設定する 
ofd.Title = "ファイルを選択してください"; 
//ダイアログを表示する 
if (true==(bool?)ofd.ShowDialog()){
    Console.WriteLine(ofd.FileName); 
}

フォルダ選択ダイアログ表示
FolderBrowserDialogクラスを利用します。
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.Description = "フォルダを指定してください";
if (fbd.ShowDialog() == true) {
      MessageBox.Show(fbd.SelectedPath);
}

ファイル読み込み
StreamReaderクラスを利用します。
try {
    //ファイル読み込み
    using (StreamReader sr = new StreamReader("c:\\temp\\sample.txt")) {
        string line;
        //1行づつ読み込んで、1行づつファイル出力
        while ((line = sr.ReadLine()) != null) {
            Console.WriteLine(line);
        }
        Console.Read();

    }
}
catch (Exception e) {
    // Let the user know what went wrong.
    Console.WriteLine("The file could not be read:");
    Console.WriteLine(e.Message);
}

ファイル書き込み
string filename = "c:\temp\test.txt";
string str = "abc";
Encoding encode = Encoding.GetEncoding("Shift_Jis");
StreamWriter sw = new StreamWriter(filename, false, encode);
sw.WriteLine(str);


ディレクトリ操作

ディレクトリ内のファイル一覧入手
string[] files = Directory.GetFiles(dir);
foreach (string s in files) {
    Console.WriteLine(s);
}

ディレクトリ内のディレクトリ一覧入手 
string[] dirs = Directory.GetDirectories(dir);
foreach (string s in dirs) {
    Console.WriteLine(s);
}

特殊フォルダ(ディレクトリ)の入手
//デスクトップ
string desktopDir = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
//マイドキュメント 
string mydocDir =System.Environment.GetFolderPath(Environment.SpecialFolder.Personal);


ファイル操作

ファイルの拡張子変更
//拡張子を変更するファイルのパス 
string fileName = @"C:\test\test.txt"; 
//拡張子を".bak"に変更する 
fileName = System.IO.Path.ChangeExtension(fileName, "bak");



ファイル名(フルパス)からの情報取得
string fileName = @"C:\test\test.txt"; 

//ディレクトリ名の取得
string dirName=System.IO.Path.GetDirectoryName(fileName);

//拡張子取得
string exeName = System.IO.Path.GetExtension(fileName);

//ファイル名取得
string filename = System.IO.Path.GetFileName(fileName);

//ファイル名(拡張子なし)の取得
string filename2 = System.IO.Path.GetFileNameWithoutExtension(fileName);


Comments