C#File类创建文件出错,怎么办?

2025-04-16 05:07:52
推荐回答(5个)
回答1:

public static void Write_Err(string ErrMessage)
{
StreamWriter WErr;
if (!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + "ErrMessage")) //判断错误文件夹是否存在
{
Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + "ErrMessage"); //创建错误文件夹

if (!File.Exists(AppDomain.CurrentDomain.BaseDirectory + "ErrMessage\\" + "错误日志" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt")) //判断文件夹下当天文本是否存在
{
WErr = File.CreateText(AppDomain.CurrentDomain.BaseDirectory + "ErrMessage\\" + "错误日志" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt"); //创建文件夹下当天文本
}
else
{
WErr = File.AppendText(AppDomain.CurrentDomain.BaseDirectory + "ErrMessage\\" + "错误日志" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
}
}
else
{
if (!File.Exists(AppDomain.CurrentDomain.BaseDirectory + "ErrMessage\\" + "错误日志" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt")) //判断文件夹下当天文本是否存在
{
WErr = File.CreateText(AppDomain.CurrentDomain.BaseDirectory + "ErrMessage\\" + "错误日志" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt"); //创建文件夹下当天文本
}
else
{
WErr = File.AppendText(AppDomain.CurrentDomain.BaseDirectory + "ErrMessage\\" + "错误日志" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
}
}
WErr.WriteLine("\r\n" + ErrMessage); //写入文本
WErr.Close();
WErr.Dispose();

}
路径问题吧。仔细检查下。

回答2:

你可以换个盘符试试,一般C盘是系统盘,权限方面可能不满足;还有你这个创建方法以后要向这个文件写东西估计会被文件被占用的异常,你应该这样写File.Create(textBox1.Text.Trim()).Close();

回答3:

Window 7操作系统?C盘是需要管理员权限才能写文件的。建议调试或者测试时写到其他盘。

回答4:

Web项目中经常出现权限问题, 请确认IIS账户什么的对该目录拥有写权限;

回答5:

那应该是没有权限了。你找一个其它的目录看看。