gpt4 book ai didi

.net - File.ReadAllBytes 抛出 IOException 表示该进程无法访问该文件,因为它正被另一个进程使用

转载 作者:行者123 更新时间:2023-12-03 15:58:06 27 4
gpt4 key购买 nike

File.ReadAllBytes 在两次调用之间没有足够的调用间隔时会导致 IOException 吗?

当我设置网格的 Row 和 Col 时,它会触发 RowColChange 事件。 RowColChange 有一些代码可以使用 File.ReadAllBytes 打开同一个文件。
我知道 ReadAllBytes 内部在 FileStream 上使用 using 因此文件流在使用后关闭。但是在告诉操作系统文件被释放时是否可能有一些延迟
因此 File.ReadAllBytes 的后续使用可能会失败并引发异常。
有什么想法吗?谢谢!

grid.Row = 0
grid.Row = 1
grid.Col = 3


Private Sub grid_RowColChange(ByVal sender As Object, ByVal e As System.EventArgs) Handles grid.RowColChange
'Is it possible to get IOException saying the process can't access the file because it is being used by another process.
Display(File.ReadAllBytes(filePath))
End Sub

最佳答案

请尝试以下操作:

Using fileStream = New FileStream("path", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
Using streamReader = New StreamReader(fileStream)
Dim content = streamReader.ReadToEnd()
End Using
End Using

实际上有可能两个线程在同一个文件中读取同一个文件,请尝试使用上面的代码来读取文件。

关于.net - File.ReadAllBytes 抛出 IOException 表示该进程无法访问该文件,因为它正被另一个进程使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42794693/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com