2013-11-23 3 views
1

Всякий раз, когда я сохраняю свои ярлыки в своем текстовом файле, он работает нормально.Перезаписать файлы в Visual Basic

Затем, когда я что-то редактирую и пытаюсь сохранить его снова, он просто кладет все вещи друг на друга.

Я искал, но не смог найти способ просто переписать полный файл, как мне это сделать? Мой текущий код:

Dim file As System.IO.StreamWriter 
    file = My.Computer.FileSystem.OpenTextFileWriter("D:\Documenten\test.txt", True) 
    file.WriteLine("Last Generated Child") 
    file.WriteLine(Code.Text) 
    file.WriteLine("All Available Parents") 
    file.WriteLine(Parent1Code.Text) 
    file.WriteLine(Parent2Code.Text) 
    file.WriteLine(Parent3Code.Text) 
    file.WriteLine(Parent4Code.Text) 
    file.WriteLine(Parent5Code.Text) 
    file.WriteLine(Parent6Code.Text) 
    file.Close() 

Другая вещь, которая будет работать, - это способ переписать определенные строки.

Спасибо :)

+2

'File.WriteAllText 'или' File.WriteAllLines' –

+0

Вы пытаетесь использовать устаревшие способы обработки файлов VB6. Я считаю, что все под «My.» - это наследие VB6. Вместо этого используйте 'IO.File'. – Neolisk

+0

@Neolisk Я думаю, вы думаете о Microsoft.VisualBasic.Compatibility'. 'My' - это что-то еще: http://stackoverflow.com/questions/195450/do-you-use-the-my-namespace-in-vb-net –

ответ

3

OpenTextFileWriter Метод имеет возможность добавляемые к prexistent текста в файле или перезаписать все с новыми данными.

Вы используете параметр Append для параметра True.
Итак, каждый раз, когда вы пишете файл, текст добавляется к текущему содержимому файла.

Если вы хотите переписать, то просто изменить

file = My.Computer.FileSystem.OpenTextFileWriter("D:\Documenten\test.txt", False) 

Кроме того, я предлагаю вложить свой StreamWriter в Using statement block для обеспечения правильного закрывания и утилизацией потока

Using file = My.Computer.FileSystem.OpenTextFileWriter("D:\Documenten\test.txt", True) 
    file.WriteLine("Last Generated Child") 
    file.WriteLine(Code.Text) 
    file.WriteLine("All Available Parents") 
    ..... 
End Using 
Смежные вопросы