8

我需要重命名隔离存储中的文件。我怎样才能做到这一点?

4

3 回答 3

9

无论如何,在本机 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());
}
于 2009-04-09T22:36:33.267 回答
7

除了复制到新文件,然后删除旧文件方法,从 Silverlight 4 和 .NET Framework v4 开始,IsolatedStorageFile 公开了 MoveFile 和 MoveDirectory 方法。

于 2010-02-12T02:56:54.363 回答
1

完美执行这段代码

string oldName="oldName";
string newName="newName";
var file = await ApplicationData.Current.LocalFolder.GetFileAsync(oldName);
await file.RenameAsync(newName);
于 2014-09-15T11:25:32.360 回答