FileSystem.FilePut 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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)
注意
Use FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Integer for writing non-Object types
注意
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
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 FileSystem。
[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("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("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
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。
文件模式无效。
另请参阅
- FileGet
- FileOpen(Int32, String, OpenMode, OpenAccess, OpenShare, Int32)
- Seek
- FileGetObject(Int32, Object, Int64)
- VBFixedStringAttribute
- Len(UInt16)
- ArgumentException
- IOException
写入 Visual Basic
适用于
FilePut(Int32, ValueType, Int64)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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)
将数据从变量写入磁盘文件。 此功能 My 可让你在文件 I/O 操作 FilePut中提高工作效率和性能。 有关详细信息,请参阅 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仅在模式Binary中Random有效。
使用
文件中的第一个记录或字节位于位置 1,第二个记录或字节位于位置 2,依此类推。 如果省略RecordNumber,则最后一个或函数或最后Seek一个函数指向的FileGet下一条记录或FilePut字节将写入。
该 StringIsFixedLength 参数控制函数是将字符串解释为可变长度还是固定长度。 FilePut = True,则必须使用相同的操作FileGet,并且必须确保将字符串初始化为预期的长度。
随机模式
对于在 Random 模式下打开的文件,适用以下规则:
如果所写入数据的长度小于函数子句
FileOpen中指定的RecordLength长度,则FilePut对记录长度边界写入后续记录。 一条记录的末尾和下一条记录的开头之间的间距用文件缓冲区的现有内容填充。 由于无法确定填充数据量,因此通常最好让记录长度与写入的数据的长度匹配。 如果写入的数据长度大于函数子句FileOpen中指定的RecordLength长度,将引发异常。如果写入的变量是字符串,
FilePut则写入一个包含字符串长度的双字节描述符,然后写入该变量中的数据。 因此,函数中FileOpen子句指定的RecordLength记录长度必须至少大于字符串的实际长度两个字节。如果要写入的变量是包含数值类型的对象,
FilePut则写入两个标识VarType该对象的字节,然后写入该变量。 例如,在编写包含整数的对象时,FilePut写入 6 个字节:将对象标识为VarType(3)(Integer) 的两个字节和四个包含数据的字节。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于存储变量所需的实际字节数的两个字节。如果写入的变量是包含字符串的对象,
FilePut则编写一个标识VarType(8)对象的两个字节描述符,一个指示字符串长度的双字节描述符,然后写入字符串数据。 函数中FileOpen参数指定的RecordLength记录长度必须至少大于字符串的实际长度四个字节。 如果要在没有描述符的情况下放置字符串,应传递给TrueStringIsFixedLength参数,而所读字符串应为正确的长度。如果要写入的变量是数组,可以选择是否为数组的大小和维度编写描述符。 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 规则:
函数
RecordLengthFileOpen中的子句不起作用。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