Elency Solutions CSV Library Error C#



我正在使用CSV库的Elency Solutions C#来保存和加载文件中的一些数据。

我的代码可以正确保存和加载,但是当我加载然后尝试保存错误时,说另一个过程正在使用该文件。

负载方法是:

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;
}

您可以看到,我有点处置"读"对象。

这是保存方法:

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;
}

它总是卡在附录CSV上。我确实了解这个问题。读者并未成功关闭。如何正确关闭文件?

nb:我尝试过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");
            }
        }
    }
}

相关内容

最新更新