Переименовать файл в IsolatedStorage - PullRequest
7 голосов
/ 10 апреля 2009

Мне нужно переименовать файл в IsolatedStorage. Как я могу это сделать?

Ответы [ 3 ]

8 голосов
/ 10 апреля 2009

В родном C # в любом случае это не делается (возможно, в родном Win32, но я не знаю).

Что вы можете сделать, это открыть существующий файл, скопировать его в новый файл и удалить старый. Это будет медленно по сравнению с ходом, но это может быть только один путь.

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());
}
7 голосов
/ 12 февраля 2010

Помимо копирования в новый файл, затем удалите старый метод файла, начиная с Silverlight 4 и .NET Framework v4, IsolatedStorageFile предоставляет методы MoveFile и MoveDirectory.

1 голос
/ 15 сентября 2014

Отлично исполните этот кусок кода

string oldName="oldName";
string newName="newName";
var file = await ApplicationData.Current.LocalFolder.GetFileAsync(oldName);
await file.RenameAsync(newName);
...