目次
前
次
ファイル処理
ファイル処理に関して、より詳しく説明します。
Windowsではファイル処理は、入出力の範疇とみなすので
スレッドで処理します。スレッドを使うので、ソースコード
中に以下のステートメントを付加します。
using System.IO;
Cでは、fopenを利用して、ファイルアクセスを開始します。
構造体FILEの中に必要な内容を設定しますが、C#ではFileStream
を利用します。
FileStreamでは、ファイル名とモードを指定しなければなりません。
ファイル名は、ファイルパスを含めないとならないので、デフォルト
のファイルパスを取得します。
実行ファイルのパス取得に、Application.ExecutablePathを使います。
この処理では、実行ファイル名まで含んでしまうので、ディレクトリ(パス)
だけを取り出します。
gStartDirectory = Path.GetDirectoryName(Application.ExecutablePath) ;
ディレクトリscstまでを指すように、工夫します。
int idx ;
idx = gStartDirectory.IndexOf("\\scst");
textDir.Text = gStartDirectory.Substring(0, idx + 5);
一連の処理で、directoryテキストボックスの中に、デフォルトの
ディレクトリを表示します。
ディレクトリを、グローバル変数の中に入れたのと同じになります。
実際にファイルにデータを保存する場合は、ファイル名が必要なので
ファイル名入力用のテキストボックスを用意します。
ディレクトリ、ファイル名が確定している場合だけ、ファイルアクセス
します。
「Save」ボタンをクリックしたときは、ライト用のStreamWriterを作成
して、テキストボックスに表示している文字列を一気呵成に保存します。
StreamWriter sw ;
// generate and open Wirte File Stream
sw = new StreamWriter(new FileStream(stxt,FileMode.Create,FileAccess.Write));
// save context
sw.Write(this.Text);
// close
sw.Close();
文字列を含んでいるテキストボックスを、クラス定義しておき
そのメソッドで、テキストファイルに保存します。
従って、上のコードは、クラスメソッドとして定義します。
目次
前
次