Вот как FilePutObject
должен работать (пример взят из документации MSDN для FilePutObject
):
Sub WriteData()
Dim text As String = "test"
FileOpen(1, "test.bin", OpenMode.Binary)
FilePutObject(1, text)
FileClose(1)
End Sub
1
действует как идентификатор файла. Также обратите внимание, что имя файла передается FileOpen
до , вызывая FilePutObject
, а затем вызывается FileClose
. Также обратите внимание, что в файл записывается строка. Я не знаю, какие типы данных действительны для передачи в FilePutObject
, но FileIO.TextFieldParser
определенно не является одним из них (я только что попробовал).
Поправьте меня, если я ошибаюсь, но я уверен, что FilePutObject
- это один из тех переносов с VB6. Если вы пишете новый код, я бы предпочел использовать объект Stream
для своего ввода / вывода. С одной стороны, это намного больше .Net-иш (то есть типобезопасный, объектно-ориентированный и т. Д.) А что касается удобства использования, то гораздо яснее работает поток, не говоря уже о том, что он не предусматривает передачу произвольных целых чисел в качестве дескрипторов функций, чтобы определить, с каким файлом вы хотели бы работать. И в довершение всего Stream
работает независимо от того, хотите ли вы записать файл, консоль или отправить данные на другой компьютер. Подводя итог, я бы определенно нашел класс Stream
, некоторые его дочерние классы (например, FileStream
и все, что вам нравится) и некоторые связанные с ними типы (например, класс TextWriter
для удобного написания текста). ).