C# 使用streamwriter追加文本文件
我有这段代码,我将按顺序运行以下代码 我将始终在开始时创建一个新的文本文件。然后,对于代码的第2和第3部分,我只需要附加文本文件“checksnapshot”,我如何使用streamwriter来实现这一点C# 使用streamwriter追加文本文件,c#,file-io,C#,File Io,我有这段代码,我将按顺序运行以下代码 我将始终在开始时创建一个新的文本文件。然后,对于代码的第2和第3部分,我只需要附加文本文件“checksnapshot”,我如何使用streamwriter来实现这一点 //1 using (StreamReader sr = new StreamReader("C:\\Work\\labtoolssnapshot.txt")) ; { string contents = sr.ReadToEnd(); using (StreamWriter
//1
using (StreamReader sr = new StreamReader("C:\\Work\\labtoolssnapshot.txt")) ;
{
string contents = sr.ReadToEnd();
using (StreamWriter sw = new StreamWriter("C:\\Work\\checksnapshot.properties"))
{
if (contents.Contains(args[0]))
{
sw.WriteLine("SASE= 1");
}
else
{
sw.WriteLine("SASE= 0");
}
}
}
//2
using (StreamReader sr = new StreamReader("C:\\Work\\analyzercommonsnapshot.txt")) ;
{
string contents = sr.ReadToEnd();
using (StreamWriter sw = new StreamWriter("C:\\Work\\checksnapshot.properties"))
{
if (contents.Contains(args[0]))
{
sw.WriteLine("Analyzer= 1");
}
else
{
sw.WriteLine("Analyzer= 0");
}
}
}
//3
using (StreamReader sr = new StreamReader("C:\\Work\\mobilesnapshot.txt")) ;
{
string contents = sr.ReadToEnd();
using (StreamWriter sw = new StreamWriter("C:\\Work\\checksnapshot.properties"))
{
if (contents.Contains(args[0]))
{
sw.WriteLine("mobile= 1");
}
else
{
sw.WriteLine("mobile= 0");
}
}
}
使用
FileStream
而不是StreamWriter
:
using (FileStream fs = new FileStream("C:\\Work\\checksnapshot.properties",FileMode.OpenOrCreate,FileAccess.Append))
{
StreamWriter writer = new StreamWriter(fs);
writer.Write(whatever);
}
new StreamWriter(someFile, true)
注意:我只在.NET 4中使用了这个使用
FileStream
而不是StreamWriter
:
using (FileStream fs = new FileStream("C:\\Work\\checksnapshot.properties",FileMode.OpenOrCreate,FileAccess.Append))
{
StreamWriter writer = new StreamWriter(fs);
writer.Write(whatever);
}
new StreamWriter(someFile, true)
注意:我只在.NET4中使用过这个
new StreamWriter("C:\\Work\\checksnapshot.properties",true)
如果文件存在,则表示追加。这样做怎么样
new StreamWriter("C:\\Work\\checksnapshot.properties",true)
true表示如果文件存在,则追加。使用适当的StreamWriter构造函数:
using (FileStream fs = new FileStream("C:\\Work\\checksnapshot.properties",FileMode.OpenOrCreate,FileAccess.Append))
{
StreamWriter writer = new StreamWriter(fs);
writer.Write(whatever);
}
new StreamWriter(someFile, true)
将打开某个文件并进行附加。使用适当的StreamWriter构造函数进行附加。:
using (FileStream fs = new FileStream("C:\\Work\\checksnapshot.properties",FileMode.OpenOrCreate,FileAccess.Append))
{
StreamWriter writer = new StreamWriter(fs);
writer.Write(whatever);
}
new StreamWriter(someFile, true)
将打开某个文件并附加。我不知道为什么您的代码不起作用,但为什么不使用内置方法:
string contents = File.ReadAllText("C:\\Work\\labtoolssnapshot.txt");
string contents2 = File.ReadAllText("C:\\Work\\analyzercommonsnapshot.txt");
string contents3 = File.ReadAllText("C:\\Work\\mobilesnapshot.txt");
string outFile = "C:\\Work\\checksnapshot.properties";
//1
if (contents.Contains(args[0]))
{
File.WriteAllText(outFile,"SASE=1");
}
else
{
File.WriteAllText(outFile,"SASE=0");
}
//2
if (contents2.Contains(args[0]))
{
File.AppendAllText(outFile,"Analyzer= 1");
}
else
{
File.AppendAllText(outFile,"Analyzer= 0");
}
//3
if (contents3.Contains(args[0]))
{
File.AppendAllText(outFile,"mobile= 1");
}
else
{
File.AppendAllText(outFile,"mobile= 0");
}
或者,在一个更懒惰的代码中:
var contents = File.ReadAllText("C:\\Work\\labtoolssnapshot.txt");
var contents2 = File.ReadAllText("C:\\Work\\analyzercommonsnapshot.txt");
var contents3 = File.ReadAllText("C:\\Work\\mobilesnapshot.txt");
var outFile = "C:\\Work\\checksnapshot.properties";
File.WriteAllText(outfile, string.Format(
@"SASE= {0}
Analyzer= {1}
mobile= {2}
",
contents.Contains(args[0]) ? "1" : "0",
contents2.Contains(args[0]) ? "1" : "0",
contents3.Contains(args[0]) ? "1" : "0"
));
我不知道为什么您的代码不工作,但为什么不使用内置方法:
string contents = File.ReadAllText("C:\\Work\\labtoolssnapshot.txt");
string contents2 = File.ReadAllText("C:\\Work\\analyzercommonsnapshot.txt");
string contents3 = File.ReadAllText("C:\\Work\\mobilesnapshot.txt");
string outFile = "C:\\Work\\checksnapshot.properties";
//1
if (contents.Contains(args[0]))
{
File.WriteAllText(outFile,"SASE=1");
}
else
{
File.WriteAllText(outFile,"SASE=0");
}
//2
if (contents2.Contains(args[0]))
{
File.AppendAllText(outFile,"Analyzer= 1");
}
else
{
File.AppendAllText(outFile,"Analyzer= 0");
}
//3
if (contents3.Contains(args[0]))
{
File.AppendAllText(outFile,"mobile= 1");
}
else
{
File.AppendAllText(outFile,"mobile= 0");
}
或者,在一个更懒惰的代码中:
var contents = File.ReadAllText("C:\\Work\\labtoolssnapshot.txt");
var contents2 = File.ReadAllText("C:\\Work\\analyzercommonsnapshot.txt");
var contents3 = File.ReadAllText("C:\\Work\\mobilesnapshot.txt");
var outFile = "C:\\Work\\checksnapshot.properties";
File.WriteAllText(outfile, string.Format(
@"SASE= {0}
Analyzer= {1}
mobile= {2}
",
contents.Contains(args[0]) ? "1" : "0",
contents2.Contains(args[0]) ? "1" : "0",
contents3.Contains(args[0]) ? "1" : "0"
));