2015-11-13 4 views
-1

Я использую Visual Basic 2012, и я экспериментирую с манипулированием файлами .txt. Мне удалось создать кнопку, чтобы создать их, но кнопка, которую я сделал для их удаления, всегда срабатывает и возникает ошибка, заявляя, что файл все еще используется. Я пытался написать код, чтобы закрыть файл, но не удался. Ближайший я получил, когда я попыталсяVisual Basic закрытие файла

FileStream.Close("C:\Testfile") 

Но я получаю сообщение об ошибке сказав, что он должен быть связан с объектом. У меня нет ни малейшего представления о том, что это значит по объекту, и у меня нет других идей. Может кто-нибудь сказать мне, что мне нужно сделать, чтобы исправить это, или, альтернативно, другое решение?

+0

Просьба поделиться с вами кодом, в котором вы создаете/открываете файл – trincot

ответ

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") 
0

Я подозреваю, что проблема, которую вы может быть, потому что файл остается открытым, когда вы пытаетесь его удалить.

Добавьте код управления файлами внутри блока Using, как описано в this MSDN article. Используя эту технику, вам не придется забывать закрывать файлы самостоятельно, так как это произойдет автоматически после того, как вы оставите блок 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, такие как StreamReader и StreamWriter.

Смежные вопросы