Aut*_*cus 14 .net c# visual-studio-2010 visual-studio
我正在使用这个
for($number=0; $number < 5; $number++){
StreamWriter x = new StreamWriter("C:\\test.txt");
x.WriteLine(number);
x.Close();
}
Run Code Online (Sandbox Code Playgroud)
如果某些内容在test.text中,则此代码不会覆盖它.我有两个问题
1: how can I make it overwrite the file
2: how can I append to the same file
Run Code Online (Sandbox Code Playgroud)
使用C#
Sea*_*den 17
StreamWriters的默认行为是创建一个新文件,如果存在则覆盖它.要附加到文件,您需要使用接受布尔值的重载并将其设置为true.在您的示例代码中,您将重写test.txt 5次.
using(var sw = new StreamWriter(@"c:\test.txt", true))
{
for(int x = 0; x < 5; x++)
{
sw.WriteLine(x);
}
}
Run Code Online (Sandbox Code Playgroud)
Sea*_*man 16
试试FileMode枚举器:
FileStream fappend = File.Open("C:\\test.txt", FileMode.Append); // will append to end of file
FileStream fcreate = File.Open("C:\\test.txt", FileMode.Create); // will create the file or overwrite it if it already exists
Run Code Online (Sandbox Code Playgroud)
您可以将第二个参数传递StreamWriter给enable或disable附加到文件:
在C#.Net:
using System.IO;
// This will enable appending to file.
StreamWriter stream = new StreamWriter("YourFilePath", true);
// This is default mode, not append to file and create a new file.
StreamWriter stream = new StreamWriter("YourFilePath", false);
// or
StreamWriter stream = new StreamWriter("YourFilePath");
Run Code Online (Sandbox Code Playgroud)
在C++.Net(C++/CLI):
using namespace System::IO;
// This will enable appending to file.
StreamWriter^ stream = gcnew StreamWriter("YourFilePath", true);
// This is default mode, not append to file and create a new file.
StreamWriter^ stream = gcnew StreamWriter("YourFilePath", false);
// or
StreamWriter^ stream = gcnew StreamWriter("YourFilePath");
Run Code Online (Sandbox Code Playgroud)
您可以首先使用 FileStream,然后将其传递给 StreamWriter。
FileStream fsOverwrite = new FileStream("C:\\test.txt", FileMode.Create);
StreamWriter swOverwrite = new StreamWriter(fsOverwrite);
Run Code Online (Sandbox Code Playgroud)
或者
FileStream fsAppend = new FileStream("C:\\test.txt", FileMode.Append);
StreamWriter swAppend = new StreamWriter(fsAppend);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71081 次 |
| 最近记录: |