Editing/Deleting Windows Phone 8.1 C# 文件中的行

Editing/Deleting lines in files in Windows Phone 8.1 C#

我正在访问具有以下结构的 LocalFolder 中的文件:

1,Name1,SomeOtherProperty1
2,Name2,SomeOtherProperty2

使用 Streams 写入和读取特定行:

        public async void saveToFile(List<string> content, string fileName) {

        using (StreamWriter writeStream = new StreamWriter(await localFolder.OpenStreamForWriteAsync(fileName, CreationCollisionOption.OpenIfExists))) {
            foreach (string contentLine in content) {
                await writeStream.WriteLineAsync(contentLine);
            }
            writeStream.Dispose();
        }
    }

但据我所知,没有选项只能编辑或删除 n 行。你有什么建议吗?

这个有点脏,但适用于小文件。

    public async void editLineById(string fileName, string match, string content) {
        List<string> file = await readAllFromFile(fileName);
        int matchId = file.IndexOf(file.Where((item) => item.Contains(match)).First());
        file[matchId] = content;
        overrideFile(fileName, file);
    }

    public async Task<List<string>> readAllFromFile(string fileName) {
            List<string> content = new List<string>();
            using (StreamReader readStream = new StreamReader(await localFolder.OpenStreamForReadAsync(fileName))) {
                while (readStream.Peek() != -1) {
                    content.Add(await readStream.ReadLineAsync());
                }
                readStream.Dispose();
            }
        return content;
    }

    public async void overrideFile(string fileName, List<string> content) {
        using (StreamWriter writeStream = new StreamWriter(await localFolder.OpenStreamForWriteAsync(fileName, CreationCollisionOption.ReplaceExisting))) {
            foreach(string line in content) {
                await writeStream.WriteLineAsync(line);
            }
        }
    }