用FSO修改文件内容,谁会做?

eycd6842 2003-11-03 11:17:13
有一文本文件a.txt,里面写有若干行字符,现要修改,例如将第八行第六个字符改为0(原来是1)怎么做?
...全文
82 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerwen01 2003-11-03
  • 打赏
  • 举报
回复

Set ATextStream = AFileSystemObject.OpenTextFile("C:\a.txt",ForAppending,)
另附录:
打开已存在文件的方法的具体格式为(以AFileSystemObject为例):
   AFilesystemObject.OpenTextFile(FileName,IOMode,create,format)
其中:
  FileName 是一个string值,指定要打开的文件的名称,通常为文件的实际路径
加文件名称,C:\webshare\aspsamp\filetest.txt
  IOMode 是常数值,表示打开文件的目的,ForReading(1)表示用于读取数据;
ForAppending表示用于增加数据.该参数可以省略,缺省时为ForReading.
  Create 是一个Boolean值,表示要打开的文件不存在时是否创建新文件,
该参数可以省略,缺省时为False,即不创建新文件.
  Format 表示文件打开的方式.其可能的值及含义如下:
TristateTrue : 以 Unicode 的方式打开.
TristateFalse : 以 ASCII 的方式打开.
TristateUseDefault : 以系统默认的方式打开.
该参数可以省略,缺省时为 TristateFalse ,即ASCII方式.

eycd6842 2003-11-03
  • 打赏
  • 举报
回复
Set ATextStream = AFileSystemObject.OpenTextFile("C:\a.txt")
这是以只读方式打开文件,如何以读写方式打开一个文件?
lastman001 2003-11-03
  • 打赏
  • 举报
回复
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.Skip(5)
不好意思
这几句什么作用呀
eycd6842 2003-11-03
  • 打赏
  • 举报
回复
To: tigerwen01(小虎)(编程艺术化)
用你这个不行,错误信息如下:
Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft VBScript 运行时错误 错误 '800a0036'

错误的文件模式

/tmpfile.asp,行12
mzcih 2003-11-03
  • 打赏
  • 举报
回复
不过用相对路径好点!
mzcih 2003-11-03
  • 打赏
  • 举报
回复
学到东东了,好棒!
tigerwen01 2003-11-03
  • 打赏
  • 举报
回复
修正:
<%
Set AFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set ATextStream = AFileSystemObject.OpenTextFile("C:\a.txt")
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.Skip(5)
ATextStream.WriteLine("0")
ATextStream.Close
%>
tigerwen01 2003-11-03
  • 打赏
  • 举报
回复
<%
Set AFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set ATextStream = AFileSystemObject.OpenTextFile("C:\a.txt")
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.SkipLine
ATextStream.WriteLine("0")
ATextStream.Close
%>
colee 2003-11-03
  • 打赏
  • 举报
回复
刚测试通过:
C:\a.txt
======
ddddddddddddddddd
ddddddddddddddddd
ddddddddddddddddd
ddddddddddddddddd
ddddddddddddddddd
ddddddddddddddddd
ddddddddddddddddd
ddddddddddddddddd
ddddddddddddddddd
ddddddddddddddddd

asp文件
======
<%
i=0
findLine=8
findNumber=6
replacingStr="F"
Set MyFileObject = CreateObject("Scripting.FileSystemObject")
Set MyTextFile = MyFileObject.OpenTextFile("C:\a.txt",1,false)

While not MyTextFile.AtEndOfStream
if i=findLine-1 then
strAll=strAll& MyTextFile.Read(findNumber-1) &replacingStr
MyTextFile.Skip(1)
while Not MyTextFile.AtEndOfLine
strAll=strAll& MyTextFile.Read(1)
Wend
strAll=strAll
else
strAll=strAll& MyTextFile.ReadLine &vbCRLF
end if
i=i+1
Wend
MyTextFile.Close

Set MyTextFile = MyFileObject.CreateTextFile("C:\a.txt",true)
MyTextFile.WriteLine(strAll)
MyTextFile.Close
%>
eycd6842 2003-11-03
  • 打赏
  • 举报
回复
看来用FSO不能解决这个问题,因为它只能读取文件中指定位置的数据(例如:读取第八行第六个字符)而不能把数据写入文件的指定位置。
要把数据写入文件的指定位置必须先把文件指针移到那里,它的Skip和SkipLine方法只能在只读模式下用。向文件写入数据时不能移动文件指针。

散分。

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧