【发布时间】:2020-03-11 11:10:21
【问题描述】:
不太清楚为什么我已经使用了using 和fs.Close() 和file.Close(),但是我第二次运行这些代码时仍然遇到这个错误。
using (FileStream fs = new FileStream(filePath, FileMode.Create))
{
using (StreamWriter file = new StreamWriter(fs))
{
// Display header
string header = string.Format("{0,-40} {1,-12} {2,-15} {3,-8}",
"Product Name", "Unit Price", "Quantity", "Total");
file.WriteLine(header);
foreach (var item in shoppingCart2)
{
file.WriteLine("{0,-40} {1,-12} {2,-15} {3,-8}", item.ProductName,
Utility.FormatAmount(item.UnitPrice), item.QuantityOrder,
Utility.FormatAmount(item.TotalAmount));
table.AddRow(item.ProductName, Utility.FormatAmount(item.UnitPrice),
item.QuantityOrder, Utility.FormatAmount(item.TotalAmount));
}
table.Options.EnableCount = false;
table.Write();
file.Close();
}
fs.Close();
}
【问题讨论】:
-
问题不在这里......你以后如何处理文件?你是在另一个进程中打开它吗? (题外话:Dispose 时不需要 Close)
-
尝试并使用进程资源管理器找出实际上是哪个进程锁定了您的文件。这真的是你的程序吗?
-
您是否在 anther 编辑器中打开了该文件以进行调试?
-
我使用的是我之前声明的
filePath吗?var filePath = "c:/file/Receipt.txt"; -
@tymtam。不,我从记事本中关闭了所有 Receipt.txt
标签: c# filestream streamwriter