Search code examples
c#isolatedstorage

Rename File in IsolatedStorage


I need to rename a file in the IsolatedStorage. How can I do that?


Solution

  • There doesn't appear to anyway in native C# to do it (there might be in native Win32, but I don't know).

    What you could do is open the existing file and copy it to a new file and delete the old one. It would be slow compared to a move, but it might be only way.

    var oldName = "file.old"; var newName = "file.new";
    
    using (var store = IsolatedStorageFile.GetUserStoreForApplication())
    using (var readStream = new IsolatedStorageFileStream(oldName, FileMode.Open, store))
    using (var writeStream = new IsolatedStorageFileStream(newName, FileMode.Create, store))
    using (var reader = new StreamReader(readStream))
    using (var writer = new StreamWriter(writeStream))
    {
      writer.Write(reader.ReadToEnd());
    }