ファイル入出力関係
ファイル選択ダイアログ表示
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);