C#使用StreamWriter写入文件时,怎么设置为写入文件内容,且不覆盖原有内容
时间: 2024-09-23 11:10:46 浏览: 33
C#使用StreamWriter写入文件的方法
在C#中,如果你想要使用`StreamWriter`写入文件而不覆盖原有的内容,你应该先检查文件是否存在以及是否为空。你可以这样做:
```csharp
using System.IO;
// 定义文件路径
string filePath = "example.txt";
// 创建StreamReader来读取文件内容
if (File.Exists(filePath))
{
// 用 StreamReader 检查文件是否为空
if (!File.ReadAllText(filePath).Length > 0)
{
// 使用 StreamWriter 写入新内容
using (StreamWriter writer = new StreamWriter(filePath, true)) // 第二个参数设为true表示追加模式
{
writer.WriteLine("这是你要添加的新内容");
}
}
else
{
Console.WriteLine("文件不是空的,写入操作将覆盖原有内容。");
}
}
else
{
Console.WriteLine("文件不存在,将创建新的文件并写入内容。");
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.WriteLine("这是你要添加的新内容");
}
}
```
这里,`StreamWriter`的构造函数接受两个参数:文件路径和一个布尔值,如果为`true`则代表追加模式(即不会覆盖原有内容),为`false`则是默认覆盖模式。
阅读全文