首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#文件读写操作的有关问题

2012-05-06 
C#文件读写操作的问题FileStream fs new FileStream(path, FileMode.Append, FileAccess.Write)for(;;)

C#文件读写操作的问题
FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write);
  for(;;)
  {
  StreamWriter sw = new StreamWriter(fs);
  //开始写入
  sw.Write(strLog);
  //清空缓冲区
  sw.Flush();
  关闭流
  sw.Close();
  }

  调用sw.Close()后,fs的写权限就变成false了,再次new StreamWriter sw 会出错,怎么解决?

[解决办法]

lz可以试一下 

把 fs = new FileStream(path, FileMode.Append, FileAccess.Write);

放到 for内~
[解决办法]
或者把 Close放到for外
[解决办法]
看楼主代码,感觉sw创建和关闭都应该放在for外,for内只写
[解决办法]
把sw.close()放在for循环的外面
[解决办法]
你也可以用Using 试一下,不用sw.Close();
[解决办法]
#region 日志相关
/// <summary>
/// 写日志文件
/// </summary>
/// <param name="log"></param>
public static void WriteLog(string log)
{
string filename = GetAppPath() + "Log" + DateTime.Today.ToString("yyyyMMdd") + ".log";
WriteLog(log, filename);
}

/// <summary>
/// 写日志文件
/// </summary>
/// <param name="log">日志字符串</param>
/// <param name="filename">日志文件名(包含完整路径)</param>
public static void WriteLog(string log, string filename)
{
try
{
StreamWriter sw = File.AppendText(filename);
sw.WriteLine(log);
sw.Flush();
sw.Close();
}
catch
{}
}
#endregion

热点排行