テキストファイルを利用してデータを読み書きする
c:userpublicにテキストファイルを作成して、レコードを保存して行きます。ファイルの名前をここでは、101.txtとします。アプリケーションが起動した時にレコードを読み込んで、アプリケーションが閉じられる時にレコードを書き出すようにします。ファイルの入出力をしますので、usingを使って名前空間systemIOを呼び出します。
Form1のプロパティ一覧表の画面で雷アイコンをクリック、Lordの覧をダブルクリックします。Encoding sjisEnc = Encoding.GetEncoding(“Shift_JIS”)と記述します。 Shift_JISは、ユニコード表の日本語表記を表します。次にファイルを読み込むために、StreamReader のインスタンスを作成します。
StreamReader reader = new StreamReader(@”C:Userspublic101.txt”, sjisEnc)
これで101ファイルを開いて読めるようになりました。Read.Line()を呼び出して一行づつwhile文を使って終わりまで読み出します。
次は、Form1のClosedイベントを使って101ファイルに書き出すコードを書いて行きます。初めに
StreamWriter writer =new StreamWriter(@”C:Userspublic101.txt”, false, sjisEnc);
としてファイル書き込み用にインスタンスを作成します。ここで2番目の引数のfalseは、ファイルを書き足すのではなく、ファイルを一から出力することを意味します。
foreach文を使って、各columnの値を書き出していきます。
4個のレコードを入力したところです。101ファイルを開いて見ると、下図の様になっています。
これでテキストファイルによるデータ保存アプリケーションが出来ました。
まとめ StreamWriter writer =new StreamWriterこの一文でファイルが作成されます。他にファイルを作成する方法は、この様な物があります。
System.IO.File.Create (作成するファイルのパス),またはSystem.IO.FileStream Open (string path, System.IO.FileMode mode); FileModeは、Createを指定します。
ファイルを読むには
StreamReader reader = new StreamReaderを使って
ファイルを書くには
StreamWriter writer =new StreamWriterを使って、実行出来ます。
コメント