在提供流和编码时附加文本,而不是路径
Appending text while providing a stream and encoding, not a path
所以我使用的是一个 streamwriter,我提供一个流,而不是一个路径。我无法直接使用路径,因为它必须考虑模拟文件系统。
这个问题是,如果您提供路径而不是流,附加布尔只是一个选项。
如果我这样做:
using (var writer = new StreamWriter(stream, encoding))
然后我不能将它设置为追加而不是覆盖。
我也尝试过将其设置为文件的 .AppendText()
流,如下所示:
using (var writer = FileInfo.FromFileName(path).AppendText())
这行得通,但这里的问题是我无法设置编码,而我需要这样做。我还没有找到在构建后设置编码的方法。
因此,从本质上讲,我需要一种能够使用流编写器附加文本的方法,同时还要考虑到我必须为其提供流和编码。有人知道我能做什么吗?
在创建 StreamWriter 之前,只需将流的位置设置为末尾即可。
stream.Position = stream.Length;
所以我使用的是一个 streamwriter,我提供一个流,而不是一个路径。我无法直接使用路径,因为它必须考虑模拟文件系统。
这个问题是,如果您提供路径而不是流,附加布尔只是一个选项。
如果我这样做:
using (var writer = new StreamWriter(stream, encoding))
然后我不能将它设置为追加而不是覆盖。
我也尝试过将其设置为文件的 .AppendText()
流,如下所示:
using (var writer = FileInfo.FromFileName(path).AppendText())
这行得通,但这里的问题是我无法设置编码,而我需要这样做。我还没有找到在构建后设置编码的方法。
因此,从本质上讲,我需要一种能够使用流编写器附加文本的方法,同时还要考虑到我必须为其提供流和编码。有人知道我能做什么吗?
在创建 StreamWriter 之前,只需将流的位置设置为末尾即可。
stream.Position = stream.Length;