FileSystem.FilePut 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关更多信息,请参见 FileSystem。
重载
FilePut(Int32, Int64, Int64) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, String, Int64, Boolean) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Object, Object, Object) |
已过时.
已过时.
已过时.
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, ValueType, Int64) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, Single, Int64) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, Int32, Int64) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, Array, Int64, Boolean, Boolean) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, Double, Int64) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, Decimal, Int64) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, DateTime, Int64) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, Char, Int64) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, Byte, Int64) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, Boolean, Int64) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, Int16, Int64) |
将变量中得数据写入磁盘文件中。 相比 |
FilePut(Int32, Int64, Int64)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, long Value, long RecordNumber = -1);
static member FilePut : int * int64 * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Long, Optional RecordNumber As Long = -1)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- Int64
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一条记录或字节位于位置 1,第二条记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后 FileGet
一个 或 函数后或 FilePut
最后 Seek
一个函数指向的下一个记录或字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当参数为 True
时,不编写长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于以 Random
模式打开的文件,以下规则适用:
如果要写入的数据的长度小于函数的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 使用文件缓冲区的现有内容填充一条记录末尾和下一条记录开头之间的空格。 由于无法确定填充数据的数量,因此通常最好让记录长度与正在写入的数据的长度相匹配。 如果要写入的数据的长度大于函数的FileOpen
子句中指定的RecordLength
长度,将引发异常。如果要写入的变量是字符串,
FilePut
则 写入包含字符串长度的两字节描述符,然后写入该变量中的数据。 因此,由 函数中的FileOpen
子句指定的RecordLength
记录长度必须至少大于字符串的实际长度的两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则 写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在写入包含整数的对象时,FilePut
将写入 6 个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和 4 个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
该对象的 的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大四个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果要写入的变量是数组,则可以选择是否为数组的大小和维度编写描述符。 Visual Basic 6.0 及更早版本为动态数组写入文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取,则必须编写描述符。 描述符指定数组的排名、大小以及每个排名的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * numberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果要写入的变量是任何其他类型的变量 (不是可变长度字符串或) 的对象,
FilePut
则 只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于正在写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,只不过元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,如果字符串字段的字节数超过 属性指定的
VBFixedString
字节数,则将被截断。
二进制模式
对于在 模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外。 在 模式下 Binary
打开的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句无效。FilePut
将所有变量连续写入磁盘,即不填充记录。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 不编写描述符。FilePut
写入长度可变的字符串,这些字符串不是没有双字节长度描述符的结构元素。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件编号 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举进行访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Int32, String, Int64, Boolean)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, string Value, long RecordNumber = -1, bool StringIsFixedLength = false);
static member FilePut : int * string * int64 * bool -> unit
Public Sub FilePut (FileNumber As Integer, Value As String, Optional RecordNumber As Long = -1, Optional StringIsFixedLength As Boolean = false)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- String
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
- StringIsFixedLength
- Boolean
可选。 仅在写入字符串时适用。 指定是否将字符串的双字节字符串长度说明符写入文件中。 默认值为 False
。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一条记录或字节位于位置 1,第二条记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后 FileGet
一个 或 函数后或 FilePut
最后 Seek
一个函数指向的下一个记录或字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当参数为 True
时,不编写长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于以 Random
模式打开的文件,以下规则适用:
如果要写入的数据的长度小于函数的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 使用文件缓冲区的现有内容填充一条记录末尾和下一条记录开头之间的空格。 由于无法确定填充数据的数量,因此通常最好让记录长度与正在写入的数据的长度相匹配。 如果要写入的数据的长度大于函数的FileOpen
子句中指定的RecordLength
长度,将引发异常。如果要写入的变量是字符串,
FilePut
则 写入包含字符串长度的两字节描述符,然后写入该变量中的数据。 因此,由 函数中的FileOpen
子句指定的RecordLength
记录长度必须至少大于字符串的实际长度的两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则 写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在写入包含整数的对象时,FilePut
将写入 6 个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和 4 个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
该对象的 的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大四个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果要写入的变量是数组,则可以选择是否为数组的大小和维度编写描述符。 Visual Basic 6.0 及更早版本为动态数组写入文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取,则必须编写描述符。 描述符指定数组的排名、大小以及每个排名的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * numberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果要写入的变量是任何其他类型的变量 (不是可变长度字符串或) 的对象,
FilePut
则 只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于正在写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,只不过元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,如果字符串字段的字节数超过 属性指定的
VBFixedString
字节数,则将被截断。
二进制模式
对于在 模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外。 在 模式下 Binary
打开的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句无效。FilePut
将所有变量连续写入磁盘,即不填充记录。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 不编写描述符。FilePut
写入长度可变的字符串,这些字符串不是没有双字节长度描述符的结构元素。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件编号 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举进行访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Object, Object, Object)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
注意
This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202
注意
FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.
注意
Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public:
static void FilePut(System::Object ^ FileNumber, System::Object ^ Value, System::Object ^ RecordNumber);
[System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")]
public static void FilePut (object FileNumber, object Value, object RecordNumber);
[System.Obsolete("FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.")]
public static void FilePut (object FileNumber, object Value, object RecordNumber);
[System.Obsolete("Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types")]
public static void FilePut (object FileNumber, object Value, object RecordNumber = -1);
[System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")]
public static void FilePut (object FileNumber, object Value, object RecordNumber = -1);
[<System.Obsolete("This member has been deprecated. Please use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types. http://go.microsoft.com/fwlink/?linkid=14202")>]
static member FilePut : obj * obj * obj -> unit
[<System.Obsolete("FileSystem.FilePut has been deprecated. Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types.")>]
static member FilePut : obj * obj * obj -> unit
[<System.Obsolete("Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types")>]
static member FilePut : obj * obj * obj -> unit
Public Sub FilePut (FileNumber As Object, Value As Object, RecordNumber As Object)
Public Sub FilePut (FileNumber As Object, Value As Object, Optional RecordNumber As Object = -1)
参数
- FileNumber
- Object
必需。 任何有效文件数。
- Value
- Object
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Object
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
- 属性
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一条记录或字节位于位置 1,第二条记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后 FileGet
一个 或 函数后或 FilePut
最后 Seek
一个函数指向的下一个记录或字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当参数为 True
时,不编写长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于以 Random
模式打开的文件,以下规则适用:
如果要写入的数据的长度小于函数的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 使用文件缓冲区的现有内容填充一条记录末尾和下一条记录开头之间的空格。 由于无法确定填充数据的数量,因此通常最好让记录长度与正在写入的数据的长度相匹配。 如果要写入的数据的长度大于函数的FileOpen
子句中指定的RecordLength
长度,将引发异常。如果要写入的变量是字符串,
FilePut
则 写入包含字符串长度的两字节描述符,然后写入该变量中的数据。 因此,由 函数中的FileOpen
子句指定的RecordLength
记录长度必须至少大于字符串的实际长度的两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则 写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在写入包含整数的对象时,FilePut
将写入 6 个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和 4 个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
该对象的 的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大四个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果要写入的变量是数组,则可以选择是否为数组的大小和维度编写描述符。 Visual Basic 6.0 及更早版本为动态数组写入文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取,则必须编写描述符。 描述符指定数组的排名、大小以及每个排名的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * numberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果要写入的变量是任何其他类型的变量 (不是可变长度字符串或) 的对象,
FilePut
则 只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于正在写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,只不过元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,如果字符串字段的字节数超过 属性指定的
VBFixedString
字节数,则将被截断。
二进制模式
对于在 模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外。 在 模式下 Binary
打开的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句无效。FilePut
将所有变量连续写入磁盘,即不填充记录。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 不编写描述符。FilePut
写入长度可变的字符串,这些字符串不是没有双字节长度描述符的结构元素。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件编号 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举进行访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Int32, ValueType, Int64)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, ValueType Value, long RecordNumber = -1);
static member FilePut : int * ValueType * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As ValueType, Optional RecordNumber As Long = -1)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- ValueType
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一条记录或字节位于位置 1,第二条记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后 FileGet
一个 或 函数后或 FilePut
最后 Seek
一个函数指向的下一个记录或字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当参数为 True
时,不编写长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于以 Random
模式打开的文件,以下规则适用:
如果要写入的数据的长度小于函数的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 使用文件缓冲区的现有内容填充一条记录末尾和下一条记录开头之间的空格。 由于无法确定填充数据的数量,因此通常最好让记录长度与正在写入的数据的长度相匹配。 如果要写入的数据的长度大于函数的FileOpen
子句中指定的RecordLength
长度,将引发异常。如果要写入的变量是字符串,
FilePut
则 写入包含字符串长度的两字节描述符,然后写入该变量中的数据。 因此,由 函数中的FileOpen
子句指定的RecordLength
记录长度必须至少大于字符串的实际长度的两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则 写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在写入包含整数的对象时,FilePut
将写入 6 个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和 4 个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
该对象的 的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大四个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果要写入的变量是数组,则可以选择是否为数组的大小和维度编写描述符。 Visual Basic 6.0 及更早版本为动态数组写入文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取,则必须编写描述符。 描述符指定数组的排名、大小以及每个排名的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * numberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果要写入的变量是任何其他类型的变量 (不是可变长度字符串或) 的对象,
FilePut
则 只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于正在写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,只不过元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,如果字符串字段的字节数超过 属性指定的
VBFixedString
字节数,则将被截断。
二进制模式
对于在 模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外。 在 模式下 Binary
打开的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句无效。FilePut
将所有变量连续写入磁盘,即不填充记录。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 不编写描述符。FilePut
写入长度可变的字符串,这些字符串不是没有双字节长度描述符的结构元素。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件编号 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举进行访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Int32, Single, Int64)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, float Value, long RecordNumber = -1);
static member FilePut : int * single * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Single, Optional RecordNumber As Long = -1)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- Single
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一条记录或字节位于位置 1,第二条记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后 FileGet
一个 或 函数后或 FilePut
最后 Seek
一个函数指向的下一个记录或字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当参数为 True
时,不编写长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于以 Random
模式打开的文件,以下规则适用:
如果要写入的数据的长度小于函数的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 使用文件缓冲区的现有内容填充一条记录末尾和下一条记录开头之间的空格。 由于无法确定填充数据的数量,因此通常最好让记录长度与正在写入的数据的长度相匹配。 如果要写入的数据的长度大于函数的FileOpen
子句中指定的RecordLength
长度,将引发异常。如果要写入的变量是字符串,
FilePut
则 写入包含字符串长度的两字节描述符,然后写入该变量中的数据。 因此,由 函数中的FileOpen
子句指定的RecordLength
记录长度必须至少大于字符串的实际长度的两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则 写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在写入包含整数的对象时,FilePut
将写入 6 个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和 4 个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
该对象的 的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大四个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果要写入的变量是数组,则可以选择是否为数组的大小和维度编写描述符。 Visual Basic 6.0 及更早版本为动态数组写入文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取,则必须编写描述符。 描述符指定数组的排名、大小以及每个排名的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * numberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果要写入的变量是任何其他类型的变量 (不是可变长度字符串或) 的对象,
FilePut
则 只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于正在写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,只不过元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,如果字符串字段的字节数超过 属性指定的
VBFixedString
字节数,则将被截断。
二进制模式
对于在 模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外。 在 模式下 Binary
打开的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句无效。FilePut
将所有变量连续写入磁盘,即不填充记录。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 不编写描述符。FilePut
写入长度可变的字符串,这些字符串不是没有双字节长度描述符的结构元素。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件编号 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举进行访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Int32, Int32, Int64)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, int Value, long RecordNumber = -1);
static member FilePut : int * int * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Integer, Optional RecordNumber As Long = -1)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- Int32
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后FileGet
一个 或 函数之后或最后一个函数指向的下Seek
一个记录或FilePut
字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当 参数为 True
时,不写入长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于在模式下 Random
打开的文件,以下规则适用:
如果正在写入的数据长度小于函数 的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 一条记录的末尾和下一条记录的开头之间的空间用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与正在写入的数据的长度匹配。 如果正在写入的数据长度大于函数 的FileOpen
子句中指定的RecordLength
长度,则会引发异常。如果要写入的变量是字符串,
FilePut
则写入包含字符串长度的两字节描述符,然后写入进入变量的数据。 因此,函数中的FileOpen
子句指定的RecordLength
记录长度必须至少比字符串的实际长度大两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在编写包含整数的对象时,FilePut
会写入六个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和四个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比存储变量所需的实际字节数大两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
对象的 的两字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大 4 个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果正在写入的变量是数组,则可以选择是否为数组的大小和尺寸编写描述符。 Visual Basic 6.0 及更早版本为动态数组编写文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取它,则必须编写描述符。 描述符指定数组的排名、大小和每个秩的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * NumberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果正在写入的变量是任何其他类型的变量, (不是可变长度字符串或对象) ,
FilePut
则只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于要写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,除非元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,将截断包含超过 属性所指定
VBFixedString
字节数的字符串字段,
二进制模式
对于在模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外情况。 在模式下打开 Binary
的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句不起作用。FilePut
将所有变量连续写入磁盘,也就是说,在记录之间不填充。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 未编写描述符。FilePut
写入不带两字节长度描述符的结构元素的可变长度字符串。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Int32, Array, Int64, Boolean, Boolean)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, Array Value, long RecordNumber = -1, bool ArrayIsDynamic = false, bool StringIsFixedLength = false);
static member FilePut : int * Array * int64 * bool * bool -> unit
Public Sub FilePut (FileNumber As Integer, Value As Array, Optional RecordNumber As Long = -1, Optional ArrayIsDynamic As Boolean = false, Optional StringIsFixedLength As Boolean = false)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- Array
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
- ArrayIsDynamic
- Boolean
可选。 仅当写入数组时使用。 指定是否将数组视为动态数组,以及是否写入用于描述字符串长度的数组说明符。
- StringIsFixedLength
- Boolean
可选。 仅在写入字符串时适用。 指定是否将字符串的双字节字符串长度说明符写入文件中。 默认值为 False
。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后FileGet
一个 或 函数之后或最后一个函数指向的下Seek
一个记录或FilePut
字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当 参数为 True
时,不写入长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于在模式下 Random
打开的文件,以下规则适用:
如果正在写入的数据长度小于函数 的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 一条记录的末尾和下一条记录的开头之间的空间用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与正在写入的数据的长度匹配。 如果正在写入的数据长度大于函数 的FileOpen
子句中指定的RecordLength
长度,则会引发异常。如果要写入的变量是字符串,
FilePut
则写入包含字符串长度的两字节描述符,然后写入进入变量的数据。 因此,函数中的FileOpen
子句指定的RecordLength
记录长度必须至少比字符串的实际长度大两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在编写包含整数的对象时,FilePut
会写入六个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和四个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比存储变量所需的实际字节数大两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
对象的 的两字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大 4 个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果正在写入的变量是数组,则可以选择是否为数组的大小和尺寸编写描述符。 Visual Basic 6.0 及更早版本为动态数组编写文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取它,则必须编写描述符。 描述符指定数组的排名、大小和每个秩的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * NumberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果正在写入的变量是任何其他类型的变量, (不是可变长度字符串或对象) ,
FilePut
则只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于要写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,除非元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,将截断包含超过 属性所指定
VBFixedString
字节数的字符串字段,
二进制模式
对于在模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外情况。 在模式下打开 Binary
的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句不起作用。FilePut
将所有变量连续写入磁盘,也就是说,在记录之间不填充。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 未编写描述符。FilePut
写入不带两字节长度描述符的结构元素的可变长度字符串。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Int32, Double, Int64)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, double Value, long RecordNumber = -1);
static member FilePut : int * double * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Double, Optional RecordNumber As Long = -1)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- Double
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后FileGet
一个 或 函数之后或最后一个函数指向的下Seek
一个记录或FilePut
字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当 参数为 True
时,不写入长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于在模式下 Random
打开的文件,以下规则适用:
如果正在写入的数据长度小于函数 的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 一条记录的末尾和下一条记录的开头之间的空间用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与正在写入的数据的长度匹配。 如果正在写入的数据长度大于函数 的FileOpen
子句中指定的RecordLength
长度,则会引发异常。如果要写入的变量是字符串,
FilePut
则写入包含字符串长度的两字节描述符,然后写入进入变量的数据。 因此,函数中的FileOpen
子句指定的RecordLength
记录长度必须至少比字符串的实际长度大两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在编写包含整数的对象时,FilePut
会写入六个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和四个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比存储变量所需的实际字节数大两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
对象的 的两字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大 4 个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果正在写入的变量是数组,则可以选择是否为数组的大小和尺寸编写描述符。 Visual Basic 6.0 及更早版本为动态数组编写文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取它,则必须编写描述符。 描述符指定数组的排名、大小和每个秩的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * NumberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果正在写入的变量是任何其他类型的变量, (不是可变长度字符串或对象) ,
FilePut
则只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于要写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,除非元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,将截断包含超过 属性所指定
VBFixedString
字节数的字符串字段,
二进制模式
对于在模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外情况。 在模式下打开 Binary
的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句不起作用。FilePut
将所有变量连续写入磁盘,也就是说,在记录之间不填充。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 未编写描述符。FilePut
写入不带两字节长度描述符的结构元素的可变长度字符串。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Int32, Decimal, Int64)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, decimal Value, long RecordNumber = -1);
static member FilePut : int * decimal * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Decimal, Optional RecordNumber As Long = -1)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- Decimal
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一条记录或字节位于位置 1,第二条记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后 FileGet
一个 或 函数后或 FilePut
最后 Seek
一个函数指向的下一个记录或字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当参数为 True
时,不编写长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于以 Random
模式打开的文件,以下规则适用:
如果要写入的数据的长度小于函数的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 使用文件缓冲区的现有内容填充一条记录末尾和下一条记录开头之间的空格。 由于无法确定填充数据的数量,因此通常最好让记录长度与正在写入的数据的长度相匹配。 如果要写入的数据的长度大于函数的FileOpen
子句中指定的RecordLength
长度,将引发异常。如果要写入的变量是字符串,
FilePut
则 写入包含字符串长度的两字节描述符,然后写入该变量中的数据。 因此,由 函数中的FileOpen
子句指定的RecordLength
记录长度必须至少大于字符串的实际长度的两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则 写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在写入包含整数的对象时,FilePut
将写入 6 个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和 4 个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
该对象的 的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大四个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果要写入的变量是数组,则可以选择是否为数组的大小和维度编写描述符。 Visual Basic 6.0 及更早版本为动态数组写入文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取,则必须编写描述符。 描述符指定数组的排名、大小以及每个排名的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * numberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果要写入的变量是任何其他类型的变量 (不是可变长度字符串或) 的对象,
FilePut
则 只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于正在写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,只不过元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,如果字符串字段的字节数超过 属性指定的
VBFixedString
字节数,则将被截断。
二进制模式
对于在 模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外。 在 模式下 Binary
打开的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句无效。FilePut
将所有变量连续写入磁盘,即不填充记录。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 不编写描述符。FilePut
写入长度可变的字符串,这些字符串不是没有双字节长度描述符的结构元素。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件编号 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举进行访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Int32, DateTime, Int64)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, DateTime Value, long RecordNumber = -1);
static member FilePut : int * DateTime * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As DateTime, Optional RecordNumber As Long = -1)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- DateTime
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一条记录或字节位于位置 1,第二条记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后 FileGet
一个 或 函数后或 FilePut
最后 Seek
一个函数指向的下一个记录或字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当参数为 True
时,不编写长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于以 Random
模式打开的文件,以下规则适用:
如果要写入的数据的长度小于函数的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 使用文件缓冲区的现有内容填充一条记录末尾和下一条记录开头之间的空格。 由于无法确定填充数据的数量,因此通常最好让记录长度与正在写入的数据的长度相匹配。 如果要写入的数据的长度大于函数的FileOpen
子句中指定的RecordLength
长度,将引发异常。如果要写入的变量是字符串,
FilePut
则 写入包含字符串长度的两字节描述符,然后写入该变量中的数据。 因此,由 函数中的FileOpen
子句指定的RecordLength
记录长度必须至少大于字符串的实际长度的两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则 写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在写入包含整数的对象时,FilePut
将写入 6 个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和 4 个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
该对象的 的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大四个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果要写入的变量是数组,则可以选择是否为数组的大小和维度编写描述符。 Visual Basic 6.0 及更早版本为动态数组写入文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取,则必须编写描述符。 描述符指定数组的排名、大小以及每个排名的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * numberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果要写入的变量是任何其他类型的变量 (不是可变长度字符串或) 的对象,
FilePut
则 只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于正在写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,只不过元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,如果字符串字段的字节数超过 属性指定的
VBFixedString
字节数,则将被截断。
二进制模式
对于在模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外情况。 在模式下打开 Binary
的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句不起作用。FilePut
将所有变量连续写入磁盘,也就是说,在记录之间不填充。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 未编写描述符。FilePut
写入不带两字节长度描述符的结构元素的可变长度字符串。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Int32, Char, Int64)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, char Value, long RecordNumber = -1);
static member FilePut : int * char * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Char, Optional RecordNumber As Long = -1)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- Char
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后FileGet
一个 或 函数之后或最后一个函数指向的下Seek
一个记录或FilePut
字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当 参数为 True
时,不写入长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于在模式下 Random
打开的文件,以下规则适用:
如果正在写入的数据长度小于函数 的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 一条记录的末尾和下一条记录的开头之间的空间用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与正在写入的数据的长度匹配。 如果正在写入的数据长度大于函数 的FileOpen
子句中指定的RecordLength
长度,则会引发异常。如果要写入的变量是字符串,
FilePut
则写入包含字符串长度的两字节描述符,然后写入进入变量的数据。 因此,函数中的FileOpen
子句指定的RecordLength
记录长度必须至少比字符串的实际长度大两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在编写包含整数的对象时,FilePut
会写入六个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和四个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比存储变量所需的实际字节数大两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
对象的 的两字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大 4 个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果正在写入的变量是数组,则可以选择是否为数组的大小和尺寸编写描述符。 Visual Basic 6.0 及更早版本为动态数组编写文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取它,则必须编写描述符。 描述符指定数组的排名、大小和每个秩的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * NumberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果正在写入的变量是任何其他类型的变量, (不是可变长度字符串或对象) ,
FilePut
则只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于要写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,除非元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,将截断包含超过 属性所指定
VBFixedString
字节数的字符串字段,
二进制模式
对于在模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外情况。 在模式下打开 Binary
的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句不起作用。FilePut
将所有变量连续写入磁盘,也就是说,在记录之间不填充。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 未编写描述符。FilePut
写入不带两字节长度描述符的结构元素的可变长度字符串。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Int32, Byte, Int64)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, byte Value, long RecordNumber = -1);
static member FilePut : int * byte * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Byte, Optional RecordNumber As Long = -1)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- Byte
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后FileGet
一个 或 函数之后或最后一个函数指向的下Seek
一个记录或FilePut
字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当 参数为 True
时,不写入长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于在模式下 Random
打开的文件,以下规则适用:
如果正在写入的数据长度小于函数 的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 一条记录的末尾和下一条记录的开头之间的空间用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与正在写入的数据的长度匹配。 如果正在写入的数据长度大于函数 的FileOpen
子句中指定的RecordLength
长度,则会引发异常。如果要写入的变量是字符串,
FilePut
则写入包含字符串长度的两字节描述符,然后写入进入变量的数据。 因此,函数中的FileOpen
子句指定的RecordLength
记录长度必须至少比字符串的实际长度大两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在编写包含整数的对象时,FilePut
会写入六个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和四个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比存储变量所需的实际字节数大两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
对象的 的两字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大 4 个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果正在写入的变量是数组,则可以选择是否为数组的大小和尺寸编写描述符。 Visual Basic 6.0 及更早版本为动态数组编写文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取它,则必须编写描述符。 描述符指定数组的排名、大小和每个秩的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * NumberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果正在写入的变量是任何其他类型的变量, (不是可变长度字符串或对象) ,
FilePut
则只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于要写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,除非元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,将截断包含超过 属性所指定
VBFixedString
字节数的字符串字段,
二进制模式
对于在模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外情况。 在模式下打开 Binary
的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句不起作用。FilePut
将所有变量连续写入磁盘,也就是说,在记录之间不填充。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 未编写描述符。FilePut
写入不带两字节长度描述符的结构元素的可变长度字符串。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Int32, Boolean, Int64)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, bool Value, long RecordNumber = -1);
static member FilePut : int * bool * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Boolean, Optional RecordNumber As Long = -1)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- Boolean
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后FileGet
一个 或 函数之后或最后一个函数指向的下Seek
一个记录或FilePut
字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当 参数为 True
时,不写入长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于在模式下 Random
打开的文件,以下规则适用:
如果正在写入的数据长度小于函数 的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 一条记录的末尾和下一条记录的开头之间的空间用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与正在写入的数据的长度匹配。 如果正在写入的数据长度大于函数 的FileOpen
子句中指定的RecordLength
长度,则会引发异常。如果要写入的变量是字符串,
FilePut
则写入包含字符串长度的两字节描述符,然后写入进入变量的数据。 因此,函数中的FileOpen
子句指定的RecordLength
记录长度必须至少比字符串的实际长度大两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在编写包含整数的对象时,FilePut
会写入六个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和四个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比存储变量所需的实际字节数大两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
对象的 的两字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大 4 个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果正在写入的变量是数组,则可以选择是否为数组的大小和尺寸编写描述符。 Visual Basic 6.0 及更早版本为动态数组编写文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取它,则必须编写描述符。 描述符指定数组的排名、大小和每个秩的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * NumberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果正在写入的变量是任何其他类型的变量, (不是可变长度字符串或对象) ,
FilePut
则只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于要写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,除非元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,将截断包含超过 属性所指定
VBFixedString
字节数的字符串字段,
二进制模式
对于在模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外情况。 在模式下打开 Binary
的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句不起作用。FilePut
将所有变量连续写入磁盘,也就是说,在记录之间不填充。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 未编写描述符。FilePut
写入不带两字节长度描述符的结构元素的可变长度字符串。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)
适用于
FilePut(Int32, Int16, Int64)
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
- Source:
- FileSystem.vb
将变量中得数据写入磁盘文件中。 相比 FilePut
,My
功能可使文件 I/O 操作的效率更高、性能更好。 有关详细信息,请参阅 FileSystem。
public static void FilePut (int FileNumber, short Value, long RecordNumber = -1);
static member FilePut : int * int16 * int64 -> unit
Public Sub FilePut (FileNumber As Integer, Value As Short, Optional RecordNumber As Long = -1)
参数
- FileNumber
- Int32
必需。 任何有效文件数。
- Value
- Int16
必需。 有效变量名,它包含写入磁盘的数据。
- RecordNumber
- Int64
可选。 开始写入处的记录号(Random
模式文件)或字节号(Binary
模式文件)。
例外
RecordNumber
< 1 且不等于 -1。
文件模式无效。
示例
此示例使用 FilePut
函数将数据写入文件。 结构的 Person
五条记录将写入文件。
Structure Person
Public ID As Integer
Public Name As String
End Structure
Sub WriteData()
Dim PatientRecord As Person
Dim recordNumber As Integer
' Open file for random access.
FileOpen(1, "C:\TESTFILE.txt", OpenMode.Binary)
' Loop 5 times.
For recordNumber = 1 To 5
' Define ID.
PatientRecord.ID = recordNumber
' Create a string.
PatientRecord.Name = "Name " & recordNumber
' Write record to file.
FilePut(1, PatientRecord)
Next recordNumber
FileClose(1)
End Sub
注解
FilePut
仅在 Random
和 Binary
模式下有效。
通常使用 FileGet
从文件中读取使用 FilePut
编写的数据。
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依序排列。 如果省略 RecordNumber
,则写入最后FileGet
一个 或 函数之后或最后一个函数指向的下Seek
一个记录或FilePut
字节。
参数 StringIsFixedLength
控制函数是将字符串解释为可变长度还是固定长度。 FilePut
当 参数为 True
时,不写入长度描述符。 如果将 与 一起使用StringIsFixedLength
FilePut
= True
,则必须对 FileGet
执行相同的操作,并且必须确保字符串已初始化为预期的长度。
随机模式
对于在模式下 Random
打开的文件,以下规则适用:
如果正在写入的数据长度小于函数 的
FileOpen
子句中指定的RecordLength
长度,FilePut
则会在记录长度边界上写入后续记录。 一条记录的末尾和下一条记录的开头之间的空间用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与正在写入的数据的长度匹配。 如果正在写入的数据长度大于函数 的FileOpen
子句中指定的RecordLength
长度,则会引发异常。如果要写入的变量是字符串,
FilePut
则写入包含字符串长度的两字节描述符,然后写入进入变量的数据。 因此,函数中的FileOpen
子句指定的RecordLength
记录长度必须至少比字符串的实际长度大两个字节。如果要写入的变量是包含数值类型的对象,
FilePut
则写入两个字节来标识VarType
对象的 ,然后写入变量。 例如,在编写包含整数的对象时,FilePut
会写入六个字节:两个字节(将对象标识为VarType(3)
(Integer
) )和四个包含数据的字节。 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比存储变量所需的实际字节数大两个字节。如果要写入的变量是包含字符串的对象,
FilePut
则编写一个标识VarType(8)
对象的 的两字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 由 函数中的FileOpen
参数指定的RecordLength
记录长度必须至少比字符串的实际长度大 4 个字节。 如果要放置不带描述符的字符串,则应传递给True
StringIsFixedLength
参数,并且读取到的字符串应为正确的长度。如果正在写入的变量是数组,则可以选择是否为数组的大小和尺寸编写描述符。 Visual Basic 6.0 及更早版本为动态数组编写文件描述符,但不为固定大小的数组编写文件描述符。 Visual Basic 2005 默认不编写描述符。 若要编写描述符,请将
ArrayIsDynamic
参数设置为True
。 编写数组时,必须匹配数组的读取方式;如果将使用描述符读取它,则必须编写描述符。 描述符指定数组的排名、大小和每个秩的下限。 其长度等于维度数的 2 加 8 倍: (2 + 8 * NumberOfDimensions) 。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于写入数组数据和数组描述符所需的所有字节的总和。 例如,将数组写入磁盘时,以下数组声明需要 218 个字节。Dim MyArray(4, 9) As Integer
如果正在写入的变量是任何其他类型的变量, (不是可变长度字符串或对象) ,
FilePut
则只写入变量数据。 函数中的FileOpen
子句指定的RecordLength
记录长度必须大于或等于要写入的数据的长度。FilePut
写入结构的元素,就好像每个元素都是单独写入的,除非元素之间没有填充。 属性VBFixedString
可以应用于结构中的字符串字段,以指示写入磁盘时字符串的大小。注意
写入磁盘时,将截断包含超过 属性所指定
VBFixedString
字节数的字符串字段,
二进制模式
对于在模式下 Binary
打开的文件,大多数 Random
模式规则都适用,但有一些例外情况。 在模式下打开 Binary
的文件的以下规则不同于模式规则 Random
:
RecordLength
函数中的FileOpen
子句不起作用。FilePut
将所有变量连续写入磁盘,也就是说,在记录之间不填充。对于结构中数组以外的任何数组,
FilePut
仅写入数据。 未编写描述符。FilePut
写入不带两字节长度描述符的结构元素的可变长度字符串。 写入的字节数等于字符串中的字符数。 例如,以下语句将 11 个字节写入文件 1:Dim hellow As String = "Hello World" FilePut(1, hellow)
使用
FilePut
函数写入文件需要Write
从 FileIOPermissionAccess 枚举访问。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
- 写入文件 (Visual Basic)