コメント |
@DIV
// *************************************************
//設定ボタン
// *************************************************
private async void SettingButton_Click(object sender, RoutedEventArgs e)
{
// 書き出データ( SHIFT_JIS のバイナリデータ )
var text_data = Encoding.GetEncoding("SHIFT_JIS").GetBytes("あいうえお"+Environment.NewLine);
// 書き出すフォルダ( マニフェストで使用宣言が必要 )
StorageFolder storageFolder = KnownFolders.DocumentsLibrary;
// ファイルオブジェクトを実体とともに作成( 存在していた場合は上書き )
var textFile = await storageFolder.CreateFileAsync(
"text.txt",
CreationCollisionOption.ReplaceExisting
);
// メモリストリーム
var memoryStream = new InMemoryRandomAccessStream();
// データライタ
var dataWriter = new DataWriter(memoryStream);
// バイト配列を書き込み
dataWriter.WriteBytes(text_data);
// オブジェクトからメモリを切り離す
var textBuffer = dataWriter.DetachBuffer();
// オブジェクトを解放( 本来は using を使う )
dataWriter.Dispose();
// オブジェクトを解放( 本来は using を使う )
memoryStream.Dispose();
// 非同期の Windows8 専用のファイル書き込み処理
// string を直接書き込む場合は WriteTextAsync : 但し utf-8(n)
await FileIO.WriteBufferAsync(textFile, textBuffer);
}
@END |