如何将文本附加到C#中所有现有的.txt文档?
所以我有这个代码:如何将文本附加到C#中所有现有的.txt文档?,c#,system.io.file,appendtext,C#,System.io.file,Appendtext,所以我有这个代码: class Program { static void Main(string[] args) { // Set a variable to the My Documents path. string mydocpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); var
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);
}
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,我认为:
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);
}
}
AppendText
是StreamWriter
的扩展方法,请参阅
因此,您应该编写以下代码:
foreach (var file in dir.EnumerateFiles("*.txt"))
{
using (StreamWriter sw = File.AppendText(file.FullName))
{
sw.WriteLine(msg);
}
}