lei_jinbo 发表于 2003-9-24 11:12:00

关于顺序修改文件的问题?

我将一些信息写到顺序文件里,用的文件系统.
    Dim nfsy As New FileSystemObject
    Dim myfile As File
    Set myfile = nfsy.GetFile(strFile)               ' strfile 是一个文件位置字符串
    MsgBox mFile.Path
    Set mtxtStream = myfile.OpenAsTextStream(ForAppending)
   
         FORAPPENDING 是不是只能加到文件末尾,不能想加到哪行就加到哪行.
    mtxtStream.Skip (5)
         或者跳动文件开始的位置?

mccad 发表于 2003-9-24 20:26:00

现在我把TextStream对象的属性和方法列表如下:

AtEndOfLine 属性
描述

只读属性,在 TextStream 文件中,如果文件指针正好在行尾标记的前面,那么该属性值返回 True;否则返回 False。

语法

object.AtEndOfLine

object 总是一个 TextStream 对象的名称。

说明

AtEndOfLine 属性仅应用于已打开供读取的 TextStream 文件;否则就会出错。

下面的代码举例说明了 AtEndOfLine 属性的用法:

Dim fs, a, retstring
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.OpenTextFile("c:\testfile.txt", ForReading, False)
Do While a.AtEndOfLine <> True
    retstring = a.Read(1)
    ...
Loop
a.Close



AtEndOfStream 属性
描述

只读属性,如果文件指针在 TextStream 文件末尾,则该属性值返回 True;否则返回 False。

语法

object.AtEndOfStream

object 总是一个 TextStream 对象的名称。

说明

AtEndOfStream 属性仅应用于已打开供读取的 TextStream 文件;否则就会出错。

下面的代码举例说明了 AtEndOfStream 属性的用法:

Dim fs, a, retstring
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.OpenTextFile("c:\testfile.txt", ForReading, False)
Do While a.AtEndOfStream <> True
    retstring = a.ReadLine
    ...
Loop
a.Close



Close 方法
描述

关闭一个打开的 TextStream 文件。

语法

object.Close

object始终是一个 TextStream 对象的名字。


Column 属性
描述

只读属性,返回 TextStream 文件中当前字符位置的列号。

语法

object.Column

object 总是一个 TextStream 对象的名称。

说明

在写了一个新行字符后,但在写任何其他字符之前,Column 的值是 1。


Line 属性
描述

只读属性,返回一个 TextStream 文件中的当前行号。

语法

object.Line

object 总是一个 TextStream 对象的名字。

说明

文件初次打开后,在写任何东西之前,Line 的值为 1。


Read 方法
描述

从一个 TextStream 文件中读取指定数量的字符并返回得到的字符串。

语法

object.Read(characters)

Read 方法语法有如下几部分:

部分         描述
object      必需的。始终是一个 TextStream 对象的名字。
characters 必需的。从文件中要读取的字符数。


ReadAll 方法
描述

读取整个的 TextStream 文件并返回得到的字符串。

语法

object.ReadAll

object 始终是一个 TextStream 对象的名字。

说明

对于大的文件,使用 ReadAll 方法浪费内存资源。应使用其它的技术去输入一个文件,比如一行一行地读取文件。


ReadLine 方法
描述

从一个 TextStream 文件读取一整行(到换行符但不包括换行符)并返回得到的字符串。

语法

object.ReadLine

object参数始终是一个 TextStream 对象的名字。


Skip 方法
描述

当读一个 TextStream 文件时跳过指定数量的字符。

语法

object.Skip(characters)

Skip 方法语法有下面几部分:

部分         描述
object      必需的。始终是一个 TextStream 对象的名字。
characters   必需的。当读文件时要跳过的字符的数量。

说明

跳过的字符被放弃。


SkipLine 方法
描述

当读一个 TextStream 文件时跳过下一行。

语法

object.SkipLine

object始终是一个 TextStream 对象的名字。

说明

跳过一行是指读取并放弃一行中的所有字符,一直到并包括该行的换行符。

如果读的文件没有打开,则产生一个错误。


Write 方法
描述

写一个指定的字符串到一个 TextStream 文件。

语法

object.Write(string)

Write 方法语法有如下几部分:

部分            描述
object         必需的。始终是一个 TextStream 对象的名字。
string          必需的。要写到文件中去的正文。

说明

指定的字符串被写入到文件中,在每个字符串之间没有插入空格或字符。使用 WriteLine 方法写入一个换行符或一个以换行符为结尾的字符串。


WriteBlankLines 方法
描述

写入指定数量的换行符到一个 TextStream 文件中。

语法

object.WriteBlankLines(lines)

WriteBlankLines 方法语法有如下几部分:

部分   描述
object必需的。始终是一个 TextStream 对象的名字。
lines   必需的。要写入的换行符数量。


WriteLine 方法
描述

写入一个指定的字符串和换行符到一个 TextStream 文件中。.

语法

object.WriteLine([string])

WriteLine 方法语法有如下几部分:

部分   描述
object必需的。始终是一个 TextStream 对象的名字。
string   可选的。要写入文件的正文。如果省略,一个换行符被写入文件中。

efan2000 发表于 2003-9-24 21:13:00

对于一个文件的操作,只能选择追加或者覆盖的方式改写数据,而不能插入。
如果要在开始或者中间的位置追加数据,那么必须使用一临时文件来重新生成数据,然后再更改文件名。
页: [1]
查看完整版本: 关于顺序修改文件的问题?