分離されたストレージにすでに保存されているファイルを取り出して、ディスクのどこかにコピーしたいと思います。
IsolatedStorageFile.CopyFile("storedFile.txt","c:\temp")
それはうまくいきません。IsolatedStorageExceptionをスローし、「操作は許可されていません」と表示します
分離されたストレージにすでに保存されているファイルを取り出して、ディスクのどこかにコピーしたいと思います。
IsolatedStorageFile.CopyFile("storedFile.txt","c:\temp")
それはうまくいきません。IsolatedStorageExceptionをスローし、「操作は許可されていません」と表示します
ドキュメントには、「一部の操作は許可されていません」とだけ書かれているが、正確には何も書かれていない、これ以外は何も表示されていません。私の推測では、分離されたストレージからディスク上の任意の場所にコピーすることは望ましくありません。ドキュメントには、宛先をディレクトリにすることはできないと記載されていますが、それを修正しても、同じエラーが発生します。
回避策として、ファイルを開いてその内容を読み取り、そのように別のファイルに書き込むことができます。
using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForAssembly())
{
//write sample file
using (Stream fs = new IsolatedStorageFileStream("test.txt", FileMode.Create, store))
{
StreamWriter w = new StreamWriter(fs);
w.WriteLine("test");
w.Flush();
}
//the following line will crash...
//store.CopyFile("test.txt", @"c:\test2.txt");
//open the file backup, read its contents, write them back out to
//your new file.
using (IsolatedStorageFileStream ifs = store.OpenFile("test.txt", FileMode.Open))
{
StreamReader reader = new StreamReader(ifs);
string contents = reader.ReadToEnd();
using (StreamWriter sw = new StreamWriter("nonisostorage.txt"))
{
sw.Write(contents);
}
}
}