写文件时如何指定写的位置?

stkmk 2003-12-15 08:28:07
有个TXT文件比如只想修改某一行的东西,该怎么实现?谢谢
...全文
53 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT服务 2003-12-15
dim a as long
open "a.dat" for binary as #1 len=128
put #1,a+128,"hello"
close #1
回复
PrettyMurphy 2003-12-15
如果是对TXT本文的格式不作要求且方便的话。把它当作INI的方式来取也蛮方便的。
只不过你TXT得保持INI的格式。
回复
踏平扶桑 2003-12-15
如果文件不是很大,用第一楼的方法比较好(自我感觉)
如果文件很大,那就用第二楼的吧:)
回复
SoHo_Andy 2003-12-15
Sub 替换文件中一行(strSourceFile As String, strTargetFile As String, intRow As Long)
Dim filenum As Integer
Dim fileContents As String
Dim fileInfo() As String
Dim i As Integer
Dim j As Integer

Dim tmpDemData As String
filenum = FreeFile
Open strSourceFile For Binary As #filenum
fileContents = Space(LOF(filenum))
Get #filenum, , fileContents
Close filenum
fileInfo = Split(fileContents, vbCrLf)
'取出源文件行数,按照回车换行来分隔成数组

filenum = FreeFile
tmpDemData = ""
If Dir(strTargetFile, vbNormal) <> "" Then
Kill strTargetFile
End If
Dim Filestr() As String

Open strTargetFile For Append As #filenum
'循环每一行
For i = 0 To UBound(fileInfo) - 1
If i <> intRow - 1 Then
fileInfo(i)="你的内容"
Print #filenum, fileInfo(i)
End If
Next
Close #filenum
MsgBox "完毕"
End Sub
Private Sub Command1_Click()
替换文件中一行 "d:\aa.txt", "d:\bb.txt", 2
End Sub
回复
xsp 2003-12-15
如果是固定位置,可以用lineinput 的方式该行前面的内容到一个变量,然后读取该行不保存,加入新内容到变量,再继续读取后面的内容到变量,完成后重写txt文件。
如果是固定内容且只出现一次,可以一次读出全部内容后用replace方法把新内容替换掉旧内容。
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7451

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告