PCL Projectでテキストファイルを保存する方法。
元ネタは、@ITより
Nugetより、PCLStorageをinstall
const string SubFolderName = "SampleData";
const string TextFileName = "Sample.txt";
// ユーザーデータを読み取るメソッド
async Task<string> LoadTextAsync()
{
// ユーザーデータ保存フォルダー
PCLStorage.IFolder localFolder = PCLStorage.FileSystem.Current.LocalStorage;
// サブフォルダーを作成、または、取得する
PCLStorage.IFolder subFolder
= await localFolder.CreateFolderAsync(SubFolderName,
PCLStorage.CreationCollisionOption.OpenIfExists);
// ファイルを取得する
PCLStorage.IFile file = await subFolder.GetFileAsync(TextFileName);
// テキストファイルを読み込む
// ※ファイル冒頭に「using PCLStorage;」が必要
return await file.ReadAllTextAsync();
}
const string TextFileName = "Sample.txt";
// ユーザーデータを読み取るメソッド
async Task<string> LoadTextAsync()
{
// ユーザーデータ保存フォルダー
PCLStorage.IFolder localFolder = PCLStorage.FileSystem.Current.LocalStorage;
// サブフォルダーを作成、または、取得する
PCLStorage.IFolder subFolder
= await localFolder.CreateFolderAsync(SubFolderName,
PCLStorage.CreationCollisionOption.OpenIfExists);
// ファイルを取得する
PCLStorage.IFile file = await subFolder.GetFileAsync(TextFileName);
// テキストファイルを読み込む
// ※ファイル冒頭に「using PCLStorage;」が必要
return await file.ReadAllTextAsync();
}
ユーザーデータを読み取るコードの例(C#)
ユーザーデータ保存フォルダーの下の「SampleData」フォルダーにある「Sample.txt」ファイルを読み取って、そのファイルに保存されている文字列を返すメソッド。非同期メソッドなので、呼び出す側はawaitキーワードで終了を待機する必要がある。
また、ファイルがないときは、ファイルを取得するところでFileNotFoundException例外(PCLStorage.Exceptions名前空間)が発生する。呼び出す側で正しく例外をトラップしてほしい。
ユーザーデータ保存フォルダーの下の「SampleData」フォルダーにある「Sample.txt」ファイルを読み取って、そのファイルに保存されている文字列を返すメソッド。非同期メソッドなので、呼び出す側はawaitキーワードで終了を待機する必要がある。
また、ファイルがないときは、ファイルを取得するところでFileNotFoundException例外(PCLStorage.Exceptions名前空間)が発生する。呼び出す側で正しく例外をトラップしてほしい。
// 定数定義を再掲
//const string SubFolderName = "SampleData";
//const string TextFileName = "Sample.txt";
// ユーザーデータを書き出すメソッド
async Task<string> SaveTextAsync(string text)
{
// ユーザーデータ保存フォルダー
PCLStorage.IFolder localFolder = PCLStorage.FileSystem.Current.LocalStorage;
// サブフォルダーを作成、または、取得する
PCLStorage.IFolder subFolder
= await localFolder.CreateFolderAsync(SubFolderName,
PCLStorage.CreationCollisionOption.OpenIfExists);
// ファイルを作成、または、取得する
PCLStorage.IFile file
= await subFolder.CreateFileAsync(TextFileName,
PCLStorage.CreationCollisionOption.ReplaceExisting);
// テキストをファイルに書き込む
// ※冒頭に「using PCLStorage;」が必要
await file.WriteAllTextAsync(text);
return file.Path;
}
ユーザーデータを書き出すコードの例(C#)
引数の文字列を、ユーザーデータ保存フォルダーの下の「SampleData」フォルダーにある「Sample.txt」ファイルに書き出すメソッド。非同期メソッドなので、呼び出す側はawaitキーワードで終了を待機する必要がある。
このメソッドは、保存したファイルのフルパスを返すようにしてある。
引数の文字列を、ユーザーデータ保存フォルダーの下の「SampleData」フォルダーにある「Sample.txt」ファイルに書き出すメソッド。非同期メソッドなので、呼び出す側はawaitキーワードで終了を待機する必要がある。
このメソッドは、保存したファイルのフルパスを返すようにしてある。
0 件のコメント:
コメントを投稿