[英]Overwriting the existing file in wp8
我正在制作一个应用程序,其中我要覆盖我的文件,就像我在文件中写入数字并读取一样,但是下次我想将新数字添加到现有文件中然后读取它
用于写入文件,我正在使用代码
private async void cross_Click(object sender, RoutedEventArgs e)
{
byte[] fileBytes = System.Text.Encoding.UTF8.GetBytes(this.ScoreTB.Text.ToCharArray());
StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
var dataFolder = await local.CreateFolderAsync("MyFolder", CreationCollisionOption.OpenIfExists);
var file = await dataFolder.CreateFileAsync("MyFile.txt", CreationCollisionOption.ReplaceExisting);
using (var s = await file.OpenStreamForWriteAsync())
{
s.Write(fileBytes, 0, fileBytes.Length);
}
}
并用于读取文件
private async void aboutus_Click(object sender, RoutedEventArgs e)
{
StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
if (local != null)
{
// Get the DataFolder folder.
var dataFolder = await local.GetFolderAsync("MyFolder");
// Get the file.
var file = await dataFolder.OpenStreamForReadAsync("MyFile.txt");
// Read the data.
using (StreamReader streamReader = new StreamReader(file))
{
this.Score.Text = streamReader.ReadToEnd();
}
}
else
{
MessageBox.Show("No File Created");
}
}
只是帮助我如何在Windows Phone应用程序开发中覆盖现有文件。
提前致谢
据我了解,您不需要覆盖,但需要附加。
1)将ReplaceExisting
更改为OpenIfExists
:
var file = await dataFolder.CreateFileAsync("MyFile.txt", CreationCollisionOption.OpenIfExists );
2)在写之前寻求流的结尾:
using (var s = await file.OpenStreamForWriteAsync())
{
s.Seek(0, SeekOrigin.End );
s.Write(fileBytes, 0, fileBytes.Length);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.