Функции Write, WriteLine

Обновлен: Ноябрь 2007

Записывает данные в последовательный файл. Данные, записанные с помощью процедуры Write, обычно читаются из файла с помощью процедуры Input.

Public Sub Write( _
   ByVal FileNumber As Integer, _
   ByVal ParamArray Output As Object _
)
' -or-
Public Sub WriteLine( _
   ByVal FileNumber As Integer, _
   ByVal ParamArray Output() As Object _
)

Параметры

  • FileNumber
    Обязательный параметр. Значение типа Integer, равное допустимому номеру файла.

  • Output
    Необязательно. Одно или несколько разделенных запятыми выражений для записи в файл.

Исключения

Тип исключения

Номер ошибки

Условия

IOException

52

FileNumber не существует.

IOException

54

Недопустимый режим файла.

См. столбец "Номер ошибки", если выполняется обновление приложений Visual Basic 6.0, в которых используется неструктурированная обработка ошибок. (Можно сравнить номер ошибки с Свойство Number (объект Err).) Однако по возможности следует заменять такую систему управления ошибками на Обзор структурной обработки исключений в Visual Basic.

Заметки

Функции Write и WriteLine предназначены для обеспечения обратной совместимости и могут повлиять на производительность. Для новых приложений объект My.Computer.FileSystem обеспечивает более высокую производительность. Дополнительные сведения см. в разделе Доступ к файлам с помощью Visual Basic.

Если параметр Output опущен, то в файл будет напечатана пустая строка. Несколько выражений могут разделяться запятыми.

В отличие от функции Print функция Write вставляет запятые между элементами и заключает в кавычки записываемые в файл строки. Не нужно вставлять в список явные ограничители. Когда Write используется для записи данных в файл, поддерживаются только числовые, Boolean, форматы даты, NULL и Error данные. Если соблюдать следующие универсальные предположения, то данные всегда могут быть прочитаны и правильно интерпретированы с помощью Input независимо от языкового стандарта:

  • Числовые данные всегда записываются с использованием точки в качестве десятичного разделителя.

  • Для данных Boolean печатаются значения #TRUE# или #FALSE# . Зарезервированные слова True и False не переводятся, независимо от национальных стандартов системы.

  • Даты пишутся в файл с использованием универсального формата даты. Если данные даты или времени пропущены или равны нулю, в файл записывается только имеющаяся часть.

  • Если строка Output пуста, данные в файл не записываются. Однако для NULL данных записывается #NULL#.

  • Для данных Error запись в файл выглядит как #ERROR errorcode#. Зарезервированное слово Error при локализации не переводится.

WriteLine вставляет символ перевода строки (т. е. возврат каретки/перевод строки или Chr(13) + Chr(10)) в файл после записи последнего знака Output.

В строку можно вставить кавычки, используя удвоенные символы кавычек или "". Например:

Dim x As String = "Double quotation marks aren't ""difficult"" to handle."

возвращает строку со значением Double quotation marks aren't "difficult" to handle.

Запись в файл с помощью функций Write или WriteLine требует доступа Append из перечисления FileIOPermissionAccess. Дополнительные сведения содержатся в разделе FileIOPermissionAccess Enumeration.

Пример

В этом примере функция Write используется для записи необработанных данных в последовательный файл.

FileOpen(1, "TESTFILE", OpenMode.Output) ' Open file for output.
Write(1, "This is a test.")  ' Print text to file.
WriteLine(1)  ' Print blank line to file.
WriteLine(1, "Zone 1", TAB(), "Zone 2")   ' Print in two print zones.
WriteLine(1, "Hello", " ", "World")     ' Separate strings with space.
WriteLine(1, SPC(5), "5 leading spaces ")    ' Print five leading spaces.
WriteLine(1, TAB(10), "Hello")   ' Print word at column 10.

' Assign Boolean, Date, and Error values.
Dim aBool As Boolean
Dim aDate As DateTime
aBool = False
aDate = DateTime.Parse("February 12, 1969")

' Dates and Booleans are translated using locale settings of 
' your system.
WriteLine(1, aBool, " is a Boolean value")
WriteLine(1, aDate, " is a date")
FileClose(1)   ' Close file.

Примечания для разработчиков приложений для смарт-устройств

Эта функция не поддерживается.

Требования

Пространство имен: Microsoft.VisualBasic

**Модуль:**FileSystem

**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)

См. также

Задачи

Практическое руководство. Запись текста в файлы в Visual Basic

Практическое руководство. Запись текста в файлы с помощью StreamWriter в Visual Basic

Ссылки

Функция Input

Функция FileOpen

Функции Print, PrintLine

Другие ресурсы

Доступ к файлам с помощью Visual Basic