【问题标题】:Cloning a csv file to memory and using it in a datatable? (vb.net)将 csv 文件克隆到内存并在数据表中使用它? (vb.net)
【发布时间】:2019-06-15 16:00:39
【问题描述】:

我对以下代码有疑问。为了防止文件锁定引起的问题,我遇到了以下代码。

            Dim OrignalBitmap As New Bitmap(Application.StartupPath & "\IMAGES\BACKGROUND_LARGE.jpg")
        Dim CloneBitmap As New Bitmap(OrignalBitmap)
        OrignalBitmap.Dispose()

这就像一个魅力。现在我已经准备好所有图像,并且我仍然可以将它们作为文件访问而无需任何锁定。它非常适合我需要的东西,以至于我在想是否可以对图像以外的文件格式执行此操作,例如 Csv 文件,然后在 datagridview 中用作绑定表?

【问题讨论】:

  • 如果不清楚,我会更直接。有没有办法复制文本文件在我的应用程序中使用副本进行进一步处理并处理(而不是删除)原始文本文件

标签: vb.net csv datagridview datatable clone


【解决方案1】:

通常这样打开一个文件就足够了,这样就不会阻止其他程序访问和打开它。

Dim path1 As String = "C:\temp\temp.csv"
Using fs As FileStream = File.Open(path1, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
  ' Do something with filestream
End Using

这将阻止即使是巨大的文件也可以在不阻止访问的情况下打开 你应该检查https://docs.microsoft.com/de-de/dotnet/api/system.io.file.open?view=netframework-4.8

【讨论】:

  • 我想检查所有的写入程序是否也关闭了文件,他们确实这样做了。最终,我发现导致问题的原因是 CSV 文件中缺少列,这是我的 datagridview 所期望的,并导致它保持文件打开。通过将缺少的列添加到写入过程来解决问题..
猜你喜欢
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 2021-11-19
  • 2021-02-09
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多