Визуальная базовая запись в открытом файле (printLine) - PullRequest
0 голосов
/ 03 марта 2019

Итак, я хочу сделать это:

Open file "this.txt"
Write a line to this file (replacing anything else written to this file)
[Other stuff, irrelevant to the file]
Write a line to this file (replacing anything else written to this file)
Close the file

Я думал, что это будет легко, но я ошибался.Я пробовал много способов, но все они потерпели неудачу.Либо они не позволяли мне писать в открытом файле, либо открывали файл и сразу же закрывали его (WriteAllText).

В итоге я использовал FileOpen (), PrintLine () и FileClose (), что позволяетЯ пишу в открытом файле, но PrintLine только пишет новую строку, он не заменяет все в файле.Любая помощь?Либо с печатной строкой, либо со всем этим

Крайне важно, чтобы файл оставался открытым до самого последнего момента, когда я хочу его закрыть (потому что у меня есть другая программа, проверяющая, когда этот файл не открыт / не используется).

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

В VB.Net OpenTextFileWriter делает именно то, что вам нужно ( документы ):

Dim file As System.IO.StreamWriter
file = My.Computer.FileSystem.OpenTextFileWriter("c:\test.txt", False)
file.WriteLine("Here is the first string.")
file.Close()
0 голосов
/ 03 марта 2019

Если речь идет о VB.NET, тогда вы можете использовать File.Open () с mode = FileMode.Truncate.Это очищает файл при открытии.Предполагается, что файл существует.

Вы также можете использовать SetLength () для усечения:

Dim f As FileStream
' FileMode.Truncate also works, but the file needs to exist from before
f = File.Open("test.txt", FileMode.OpenOrCreate, FileAccess.Write)
f.SetLength(0) ' truncate to zero size
Dim line As String = "hello2"
Dim w = New StreamWriter(f)
w.WriteLine(line)
w.Flush()
w.Close()
f.Close()

Если речь идет о VB6, проверьте этот вопрос .Одним из решений является импорт и использование встроенной функции Windows, которая выполняет усечение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...