[英]How to append text to all existing .txt documents in C#?
所以我有这段代码:
class Program
{
static void Main(string[] args)
{
// Set a variable to the My Documents path.
string mydocpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var dir = new DirectoryInfo(mydocpath + @"\sample\");
string msg = "Created by: Johny";
foreach (var file in dir.EnumerateFiles("*.txt"))
{
file.AppendText(msg); //getting error here
}
}
}
而且我想在示例文件夹中的所有文本文件中添加页脚,但是由于AppendText不接受字符串参数,因此出现了错误。 我只是想知道我该怎么做?
FileInfo.AppendText()
创建一个StreamWriter
,它本身不会附加文本。 您想这样做:
using (var sw = file.AppendText()) {
sw.Write(msg);
}
您想使用来自AppendText的streamwriter,我认为:
static void Main(string[] args)
{
// Set a variable to the My Documents path.
string mydocpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var dir = new DirectoryInfo(mydocpath + @"\sample\");
string msg = "Created by: Johny";
foreach (var file in dir.EnumerateFiles("*.txt"))
{
var streamWriter = file.AppendText();
streamWriter.Write(msg);
streamWriter.Close();
}
}
AppendText
是StreamWriter
的扩展方法,请参见文档
因此,您应该编写以下代码:
foreach (var file in dir.EnumerateFiles("*.txt"))
{
using (StreamWriter sw = File.AppendText(file.FullName))
{
sw.WriteLine(msg);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.