高效的文件生成方法
写了一个方法,主要实现WEB文件生成的功能,真正使用中一次性可能会生成1000以上个HTML文件。
方法如下:
/// <summary>
/// 生成文件
/// </summary>
/// <param name="FileFullName">文件全路径</param>
/// <param name="FileContent">文件内容</param>
public void WriteLine(string FileFullName, string FileContent)
{
//byte[] buffer = gb.GetBytes(FileContent);
string dir = FileFullName.Substring(0, FileFullName.LastIndexOf("\\"));
if (!Directory.Exists(dir))
{
//判断目录是否存在如果不存在则创建
Directory.CreateDirectory(dir);
}
StreamWriter myStrWrite = new StreamWriter(FileFullName,false);
myStrWrite.WriteLine(FileContent);
myStrWrite.Close();
/*
* 考虑到大批量文件的处理生成方式更换
FileStream fs = new FileStream(FileFullName, FileMode.Create);
fs.Write(buffer, 0, buffer.Length);
fs.Flush();
fs.Close();
*/
}
问题:无论使用StreamWriter 还是使用FileStream 进行生成。速度都很慢,一般生成500个文件时就好像卡死了。生成少量文件没有问题。寻求高效的解决方案。谢谢!!
------解决方案--------------------
多线程
------解决方案--------------------
可以做生成日志 读取日志