では、取得した
StorageFolder内にあるファイルを読み書きするにはどうするのでしょうか。これには、2つの手続きで作業をします。まず1つ目は、「ファイルを用意する」という作業です。
フォルダ内には、データを保管するファイルを作成することになります。これは
StorageFileというクラスのインスタンスとして用意します。このインスタンスは、以下のようにして取得します。
●新たにファイルを作成してインスタンスを返すStorageFile 変数 = await 《StorageFolder》.CreateFileAsync( ファイル名 [オプション] );
●既にあるファイルを開いてインスタンスを返すStorageFile 変数 = await 《StorageFolder》.GetFileAsync( ファイル名 [オプション] );
CreateFileAsyncも
GetFileAsyncも、引数にファイル名を指定することで、その
StorageFolder内のファイルを示すインスタンスが返されます。
また、どちらも「
Async」というのが名前についていることからわかるように
非同期メソッドです。従って、
awaitをつけて作業が完了してから次が実行されるようにするのが一般的でしょう。また、これらを実行するメソッドには、
asyncをつけておくのを忘れないようにしてください。
(※非同期メソッドについては、 http://libro.tuyano.com/index3?id=2346003 を参照ください)■テキストファイルを読み書きする
StorageFileが用意できたら、2つ目の作業として「データの読み書き」を行います。これは保管するファイルの種類によって違ってきますので、ここでは基本中の基本である「テキストファイル」の読み書きについて説明をしましょう。
テキストファイルの読み書きは、
Windows.Storageパッケージにある「
FileIO」というクラスを利用して行います。これには以下のようなメソッドが用意されています。
●テキストをファイルに保存するawait FileIO.WriteTextAsync(《StorageFile》, テキスト );
●テキストをファイルから読み込む変数 = await FileIO.ReadTextAsync(《StorageFile》);
これらも、やはり非同期メソッドですので、
awaitをつけて呼び出すのが一般的でしょう。いずれも引数にStorageFileインスタンスを渡すことで、そのファイルにテキストを読み書きできます。