0

分離されたストレージにすでに保存されているファイルを取り出して、ディスクのどこかにコピーしたいと思います。

 IsolatedStorageFile.CopyFile("storedFile.txt","c:\temp") 

それはうまくいきません。IsolatedStorageExceptionをスローし、「操作は許可されていません」と表示します

4

1 に答える 1

0

ドキュメントには、「一部の操作は許可されていません」とだけ書かれているが、正確には何も書かれていない、これ以外は何も表示されていません。私の推測では、分離されたストレージからディスク上の任意の場所にコピーすることは望ましくありません。ドキュメントには、宛先をディレクトリにすることはできないと記載されていますが、それを修正しても、同じエラーが発生します。

回避策として、ファイルを開いてその内容を読み取り、そのように別のファイルに書き込むことができます。

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);
        }
    }
}
于 2010-09-03T19:14:52.407 に答える