【发布时间】:2019-12-26 11:13:53
【问题描述】:
我可以在程序重新启动时写入文件(因为它总是第一次尝试写入)但是在相同的执行过程中它只在第一次工作然后它抛出一个异常声明 进程不能访问文件,因为它正被另一个进程使用
//1
StreamWriter streamWriter = new StreamWriter(attachment, false);
streamWriter.Write(query);
streamWriter.Dispose();
//2
TextWriter textWrtier = File.CreateText(attachment);
textWrtier.WriteLine(query);
textWrtier.Dispose();
我尝试将这两种类型的代码写入文件。 我也用 using 语句尝试了上面的代码,但是没有用。
写入文件后,我将其附加到邮件中(使用 smtp 客户端发送邮件)
var mail = new MailMessage(sender.Trim(), sender.Trim());
mail.Attachments.Add(new Attachment(attachment));
mail.Body = body;
client.Send(mail);
client.Dispose();
邮件部分工作正常。
【问题讨论】:
-
您无需写入磁盘上的文件即可使用电子邮件附件 - 例如,您可以使用
MemoryStream。 -
不要明确地
Dispose,而是在using的帮助下:using(StreamWriter streamWriter = new StreamWriter(attachment, false)) {streamWriter.Write(query);} -
尝试摆脱
Streams和Reader/Writers:File.WriteAllText(myFileName, query);
标签: c# filestream streamwriter textwriter