C# 写入文本内容, 如果文件不存在则创建
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ConsoleApp17
{
class Program
{
static void Main(string[] args)
{
// 写入文本内容, 如果文件不存在则创建
// append=false, 则为覆盖方式写入
WriteDoc("D:\\001.txt", "写入内容", true, Encoding.UTF8);
Console.WriteLine("ok");
Console.Read();
}
/// <summary>
/// 创建文本文件并写入内容
/// 例如:创建readme.txt
/// </summary>
/// <param name="path">文件路径</param>
/// <param name="input">写入内容</param>
/// <param name="append">是否追加</param>
/// <param name="encode">文件编码</param>
public static void WriteDoc(string path, string input, bool append, Encoding encode)
{
try
{
using (StreamWriter sw = new StreamWriter(path, append, encode))
{
sw.Write(input);
}
}
catch
{
throw;
}
}
/// <summary>
/// 创建文本文件并写入内容
/// </summary>
/// <param name="path">文件路径</param>
/// <param name="input">传入Stream</param>
/// <param name="append">是否追加</param>
/// <param name="encode">选择编码</param>
/// <returns>
/// true->写入文本成功
/// false->写入失败(检查路径与权限)
/// </returns>
public static void WriteDoc(string path, Stream input, bool append, Encoding encode)
{
try
{
// 把 Stream 转换成 byte[]
byte[] buffer = new byte[input.Length];
// 设置当前流的位置为流的开始
input.Seek(0, SeekOrigin.Begin);
input.Read(buffer, 0, buffer.Length);
input.Flush();
// 把 byte[] 写入文件
using (StreamWriter sw = new StreamWriter(path, append, encode))
{
sw.Write(encode.GetString(buffer));
}
}
catch
{
throw;
}
}
}
}