C# 在提供流和编码而不是路径时追加文本

C# 在提供流和编码而不是路径时追加文本,c#,streamwriter,C#,Streamwriter,所以我使用的是streamwriter,我提供的是一条流,而不是一条路径。我不能直接使用路径,因为它必须考虑模拟文件系统 问题在于,如果您提供的是路径,而不是流,那么append bool只是一个选项 如果我这样做: using (var writer = new StreamWriter(stream, encoding)) 然后我无法将其设置为“附加”而不是“覆盖” 我还尝试将其设置为文件的.AppendText()流,如下所示: using (var writer = FileInfo.

所以我使用的是streamwriter,我提供的是一条流,而不是一条路径。我不能直接使用路径,因为它必须考虑模拟文件系统

问题在于,如果您提供的是路径,而不是流,那么append bool只是一个选项

如果我这样做:

using (var writer = new StreamWriter(stream, encoding))
然后我无法将其设置为“附加”而不是“覆盖”

我还尝试将其设置为文件的
.AppendText()
流,如下所示:

using (var writer = FileInfo.FromFileName(path).AppendText())
这是可行的,但这里的问题是我不能设置编码,我需要这样做。我还没有找到一个方法来设置编码后,它的建设


所以本质上,我需要一种能够使用streamwriter追加文本的方法,同时还要考虑到我必须向它提供一个流以及一个编码。有人知道我能做什么吗

在创建StreamWriter之前,只需将stream的位置设置为末尾

stream.Position = stream.Length;

在创建StreamWriter之前,只需将stream的位置设置为end

stream.Position = stream.Length;