Elence Solutions CSV库错误C#
我正在使用Elence solutions CSV库来保存和加载文件中的一些数据 我的代码正确地保存和加载,但当我加载并尝试保存时,会出现一个错误,表示另一个进程正在使用该文件 加载方法如下所示:Elence Solutions CSV库错误C#,c#,csv,load,save,helper,C#,Csv,Load,Save,Helper,我正在使用Elence solutions CSV库来保存和加载文件中的一些数据 我的代码正确地保存和加载,但当我加载并尝试保存时,会出现一个错误,表示另一个进程正在使用该文件 加载方法如下所示: private void loadfile(string name) { int key = 696969; CsvReader read = new CsvReader("data.csv"); try { do {
private void loadfile(string name)
{
int key = 696969;
CsvReader read = new CsvReader("data.csv");
try
{
do
{
read.ReadNextRecord();
} while (name != read.Fields[0]);
int decAgain = int.Parse(read.Fields[1], System.Globalization.NumberStyles.HexNumber); //convert to int
int dec = decAgain ^ key;
MessageBox.Show(dec.ToString());
}
catch (Exception)
{
MessageBox.Show("Not Found");
}
read = null;
}
如您所见,我正在处理“read”对象
以下是保存方法:
private void savefile(string encrypted, string name)
{
CsvFile file = new CsvFile();
CsvRecord rec = new CsvRecord();
CsvWriter write = new CsvWriter();
rec.Fields.Add(name);
rec.Fields.Add(encrypted);
file.Records.Add(rec);
write.AppendCsv(file, "data.csv");
file = null;
rec = null;
write = null;
}
它总是卡在墙上。
我确实理解这个问题。未成功关闭读卡器。如何正确关闭文件
注意:我尝试了read.Dispose()
,但它不起作用
你能帮帮我吗
关于使用自动处置对象。它可能会解决你的问题
private void savefile(string encrypted, string name)
{
using(CsvFile file = new CsvFile())
{
using(CsvRecord rec = new CsvRecord())
{
using(CsvWriter write = new CsvWriter())
{
rec.Fields.Add(name);
rec.Fields.Add(encrypted);
file.Records.Add(rec);
write.AppendCsv(file, "data.csv");
}
}
}
}
虽然错误是从加载开始的,但我在加载部分应用了你的理论,似乎解决了我的问题,谢谢!!