Visual Basic关闭文件

时间:2015-11-13 09:50:33

标签: file visual-studio-2012

我正在使用Visual Basic 2012,而我正在尝试操作.txt文件。我设法创建了一个按钮来创建它们,但我删除它们的按钮总是遇到错误,声称该文件仍在使用中。我试图编写代码来关闭文件,但没有成功。我最接近的是当我尝试

    FileStream.Close("C:\Testfile")

但我得到一个错误,说它需要链接到一个对象。我没有最清楚的想法是什么意思的对象,我没有任何其他的想法 有人可以告诉我我需要做些什么来解决这个问题,或者另一个解决方案

2 个答案:

答案 0 :(得分:0)

您必须确保creating the file所拥有的代码在作业完成后也关闭该文件:

Dim sw As StreamWriter = New StreamWriter("C:\Testfile")
' write to the file here, like:
sw.Write("...")
' ...etc, and at the end of the job, close the file:
sw.Close()

要从文件系统实际delete a file,请使用:

 File.Delete("C:\Testfile")

答案 1 :(得分:0)

我怀疑您遇到的问题可能是因为当您尝试删除文件时文件仍处于打开状态。

this MSDN article中的说明在Using块中添加文件操作代码。通过使用此技术,您不必记住自己关闭文件,因为它会在您离开Using块后自动关闭。

Dim filePath As String = "hello.txt"

Using openedFile As FileStream = File.Open(filePath, FileMode.OpenOrCreate)
    'File is OPEN
    Dim bytes() As Byte = Encoding.ASCII.GetBytes("Hello World")
    openedFile.Write(bytes, 0, bytes.Length)
End Using

'File is CLOSED and can be deleted
File.Delete(filePath)

您还可以将此技术用于实现IDisposable的任何其他对象,例如StreamReaderStreamWriter