DDR爱好者之家 Design By 杰米
在开发WEB应用程序中,我们经常需要对文件系统中的驱动器、文件夹和文件进行处理,比如收集驱动器的相关信息;创建、添加、移动或删除文件夹和文件等。在VB6中新提供了一套称为FSO(File System Object)对象模型来对文件系统进行访问处理。该模型提供了一个基于对象的工具,通过它所提供的一系列属性和方法,我们可以在应用程序中更简单、灵活地对文件系统进行各种操作。
一、FSO简介
FSO对象模型包含以下几种对象:
Drive对象:允许收集系统物理或通过LAN与系统逻辑连接的硬盘、CD-ROM等驱动器的可用空间、共享名等信息。
Folder对象:允许创建、删除或移动文件夹,并向系统查询文件夹的名称、路径等。
Files对象:允许创建、删除或移动文件,并向系统查询文件的名称、路径等。
TextStream对象:允许创建和读写文本文件。
FileSystemObject对象:提供一整套用于驱动器、文件夹和文件操作的方法,在功能上可以把它看作是上面几个对象的集合并且经常与它们配合使用。与该对象相关联的很多方法重复了前面四个对象中的方法,因此我们既可以通过FileSystemObject对象来对驱动器、文件夹和文件进行大多数操作,也可以通过对应的驱动器、文件夹或文件对象对这些组件进行操作。FSO模型通过两种方法实现对同一对象的操作,其操作效果是相同的,提供这种冗余功能的目的是为了实现最大的编程灵活性。
在这篇文章中,我们将讲解利用FSO对象模型的TextStream对象对文本文件的操作。
(一) 用 FileSystemObject 来获取文本文件对象
1.创建一个 FileSystemObject 对象实例
要进行文件操作,首先必须创建一个 FileSystemObject 对象实例,用来创建或打开一个文件.创建一个 FileSystemObject 对象实例的具体格式为(以AFileSystemObject)为例:
Set AFileSystemObject = CreateObject("Scripting.FileSystemObjecct")
2.用 FileSystemObject 来获取文本文件对象TextStream
FileSystemObject 提供了两种方法用于获取文本文件对象 TextStream,其中用于创建
文件的是 CreateTextFile,用于打开已存在文件的是 OpenTextFile,两种方法的返回结果都是
一个 TextStream 对象的实例,利用该对象可以进行文件的具体操作.
⑴ 创建一个新文件
创建新文件的方法的具体格式为(以AFileSystemObject为例):
AFilesystemObject.CreateTextFile(NewFileName,OverwriteExistingFile,IsUnicode)
其中:
NewFileName 是一个string值,指定要建立的文件的名称,通常为文件的实际路径
加文件名称,如C:\webshare\aspsamp\filetest.txt
OverwriteExistingFile 是一个Boolean值,表示如果有同名文件存在时是否覆盖
原来的文件.该参数可以省略,缺省时为False,即不覆盖原来文件.
IsUnicode 是一个Boolean值,表示要建立的文件是ASCII文件还是Unicode文件,
该参数可以省略,缺省时为False,即为ASCII文件.
⑵ 打开已存在的文件
打开已存在文件的方法的具体格式为(以AFileSystemObject为例):
AFilesystemObject.OpenTextFile(FileName,IOMode,create,format)
其中:
FileName 是一个string值,指定要打开的文件的名称,通常为文件的实际路径
加文件名称,C:\filepath\test.txt
IOMode 是常数值,表示打开文件的目的,ForReading(1)表示用于读取数据;
ForAppending表示用于增加数据.该参数可以省略,缺省时为ForReading.
Create 是一个Boolean值,表示要打开的文件不存在时是否创建新文件,
该参数可以省略,缺省时为False,即不创建新文件.
Format 表示文件打开的方式.其可能的值及含义如下:
TristateTrue : 以 Unicode 的方式打开.
TristateFalse : 以 ASCII 的方式打开.
TristateUseDefault : 以系统默认的方式打开.
该参数可以省略,缺省时为 TristateFalse ,即ASCII方式.
(二).用 TextStream 进行文件操作
在建立或打开了文件之后,就可利用对象 TextStream 提供的方法进行文件的实际操作了.
1.用于写操作的方法有:
⑴ Write(string)
将由string指定的字符串写入到文件中.
⑵ WriteLine(string)
在文件中写入由string指定的字符串,并写入一个换行字符.
参数string可以省略,此时将在文件中插入一个空行.
⑶ WriteBlankLines(NumOfLines)
在文件中插入若干空行,行数由 NumOfLines 指定.
2.用于读操作的方法和属性方法有:
⑴ AtEndOfLine
该属性是一个Boolean值,表示文件指针是否已指向当前行的行尾.
⑵ AtEndOfStream
该属性是一个Boolean值,表示文件指针是否已指向文件尾.
⑶ Column
该属性是一个整数值,表示文件指针在当前行中的位置.
⑷ Line
该属性是一个整数值,表示文件指针所在行的行号.
⑸ Read(NumOfCharacters)
该方法从文件当前位置开始,读入由NumOfCharacters数目指定的若干字符,返回一个
字符串.
⑹ ReadLine
该方法从文件当前位置开始,读入当前行的内容直到行尾,返回一个字符串.
⑺ ReadAll
该方法从当前位置开始,读入整个文件的内容直到文件结束,返回一个字符串.
⑻ Skip(NumOfCharacters)
该方法从文件当前位置开始,跳过由NumOfCharacters数目指定的若干字符.
⑼ SKipLine
该方法从文件当前位置开始,跳过当前行的内容.
3.用于关闭文件的方法有:
⑴ Close
关闭已经建立或打开的文件.
(三)、下面就以一个实例来说明如何使用FSO来读取文本文件和如何保存到数据库:
1、 先创建一个读取文件路径的页面:file.htm
…
<FORM METHOD=POST ACTION="upFile.asp" >
<div align="center"> <br>
<br>
<br>
<br>
<input type="file" name="path" size="40">
<INPUT TYPE="submit" name="dr" value="导入信息">
</div>
</FORM>
…
2、 编写把获取到的文本值保存到数据库代码:upFile.asp
<%@Language="VBScript"%>
<%Response.Buffer=true%>
<!--#include file="adovbs.inc"-->
<%
strConn="DSN=DataSourceName"
set Conn=Server.CreateObject("ADODB.Connection")
Conn.open strConn
set ObjComm=Server.CreateObject("ADODB.Command")
ObjComm.CommandText="sp_AddMsg" ‘调用存储过程
ObjComm.CommandType=adCmdStoredProc
Set ObjComm.ActiveConnection=Conn
''''''''''创建输入输出参数'''''''''''''''''
Set ObjParamECom=ObjComm.CreateParameter("WC_ECompanyName",adVarchar,adParamInput,100)
ObjComm.Parameters.Append ObjParamECom
'@in_ECompanyName Varchar(50), --公司英文名称
Set ObjParamAddr=ObjComm.CreateParameter("WC_Address",adVarchar,adParamInput,200)
ObjComm.Parameters.Append ObjParamAddr
'@in_Address Varchar(50), --公司地址
Set ObjParamCity=ObjComm.CreateParameter("WC_City",adVarchar,adParamInput,100)
ObjComm.Parameters.Append ObjParamCity
'@in_City Varchar(50), --城市
…
''''''''''创建参数完毕''''''''''''''''''''
%>
<%
dim AllText,strLine1,strLine2,strLine3
dim strpath,fileurl
fileurl=""
strpath=Trim(Request.form("path"))
fileurl=strpath
SET FSO=CreateObject("Scripting.FileSystemObject")
SET ATextStream=FSO.OpenTextFile(fileurl,1,false,TristateFalse)
'''''''''提取数据''''''''''''''''''''''''''''
DO WHILE NOT ATextStream.AtEndOfStream
''''''初始化变量''''''''''''''''
strLine1=""
strLine2=""
strLine3=""
…
'''''''''''''''''''''''''''''''
ATextStream.SkipLine
ATextStream.Skip(11)
strLine1=Trim(ATextStream.ReadLine)
ATextStream.Skip(11)
strLine2=Trim(ATextStream.ReadLine)
ATextStream.Skip(5)
strLine3=Trim(ATextStream.ReadLine)
…
'End if
''''''''''将变量加入参数集'''''''''''''
ObjParamECom.value=strLine1
ObjParamCCom.value=strLine2
ObjParamAddr.value=strLine3
…
''''''''''操作结束''''''''''''''''''''
ObjComm.Execute() '运行命令
LOOP
response.write "<br>"+"导入库成功!<a href=dolist.html>[继续导入]</a><br>"
set Conn=nothing
set FSO=nothing
set ATextStream=nothing
%>
附:存储过程sp_AddMsg代码
CREATE PROCEDURE dbo.sp_AddMsg --导入国外企业信息
(
@in_CompanyName Varchar(100), --公司名称
@in_Address Varchar(200), --公司地址
@in_City Varchar(100), --公司所在城市
…
)
AS
SET NOCOUNT ON
BEGIN TRAN
INSERT INTO Tb_WCLibrary(
WC_CompanyName,
WC_CCompanyName,
WC_Address,
…
)
VALUES(
@in_CompanyName,
@in_CCompanyName,
@in_Address,
…
)
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
RETURN -1
END
COMMIT TRAN
RETURN 0
SET NOCOUNT OFF
至此,全文内容讲解结束,希望这篇文章能给读者带来一定的帮助。
一、FSO简介
FSO对象模型包含以下几种对象:
Drive对象:允许收集系统物理或通过LAN与系统逻辑连接的硬盘、CD-ROM等驱动器的可用空间、共享名等信息。
Folder对象:允许创建、删除或移动文件夹,并向系统查询文件夹的名称、路径等。
Files对象:允许创建、删除或移动文件,并向系统查询文件的名称、路径等。
TextStream对象:允许创建和读写文本文件。
FileSystemObject对象:提供一整套用于驱动器、文件夹和文件操作的方法,在功能上可以把它看作是上面几个对象的集合并且经常与它们配合使用。与该对象相关联的很多方法重复了前面四个对象中的方法,因此我们既可以通过FileSystemObject对象来对驱动器、文件夹和文件进行大多数操作,也可以通过对应的驱动器、文件夹或文件对象对这些组件进行操作。FSO模型通过两种方法实现对同一对象的操作,其操作效果是相同的,提供这种冗余功能的目的是为了实现最大的编程灵活性。
在这篇文章中,我们将讲解利用FSO对象模型的TextStream对象对文本文件的操作。
(一) 用 FileSystemObject 来获取文本文件对象
1.创建一个 FileSystemObject 对象实例
要进行文件操作,首先必须创建一个 FileSystemObject 对象实例,用来创建或打开一个文件.创建一个 FileSystemObject 对象实例的具体格式为(以AFileSystemObject)为例:
Set AFileSystemObject = CreateObject("Scripting.FileSystemObjecct")
2.用 FileSystemObject 来获取文本文件对象TextStream
FileSystemObject 提供了两种方法用于获取文本文件对象 TextStream,其中用于创建
文件的是 CreateTextFile,用于打开已存在文件的是 OpenTextFile,两种方法的返回结果都是
一个 TextStream 对象的实例,利用该对象可以进行文件的具体操作.
⑴ 创建一个新文件
创建新文件的方法的具体格式为(以AFileSystemObject为例):
AFilesystemObject.CreateTextFile(NewFileName,OverwriteExistingFile,IsUnicode)
其中:
NewFileName 是一个string值,指定要建立的文件的名称,通常为文件的实际路径
加文件名称,如C:\webshare\aspsamp\filetest.txt
OverwriteExistingFile 是一个Boolean值,表示如果有同名文件存在时是否覆盖
原来的文件.该参数可以省略,缺省时为False,即不覆盖原来文件.
IsUnicode 是一个Boolean值,表示要建立的文件是ASCII文件还是Unicode文件,
该参数可以省略,缺省时为False,即为ASCII文件.
⑵ 打开已存在的文件
打开已存在文件的方法的具体格式为(以AFileSystemObject为例):
AFilesystemObject.OpenTextFile(FileName,IOMode,create,format)
其中:
FileName 是一个string值,指定要打开的文件的名称,通常为文件的实际路径
加文件名称,C:\filepath\test.txt
IOMode 是常数值,表示打开文件的目的,ForReading(1)表示用于读取数据;
ForAppending表示用于增加数据.该参数可以省略,缺省时为ForReading.
Create 是一个Boolean值,表示要打开的文件不存在时是否创建新文件,
该参数可以省略,缺省时为False,即不创建新文件.
Format 表示文件打开的方式.其可能的值及含义如下:
TristateTrue : 以 Unicode 的方式打开.
TristateFalse : 以 ASCII 的方式打开.
TristateUseDefault : 以系统默认的方式打开.
该参数可以省略,缺省时为 TristateFalse ,即ASCII方式.
(二).用 TextStream 进行文件操作
在建立或打开了文件之后,就可利用对象 TextStream 提供的方法进行文件的实际操作了.
1.用于写操作的方法有:
⑴ Write(string)
将由string指定的字符串写入到文件中.
⑵ WriteLine(string)
在文件中写入由string指定的字符串,并写入一个换行字符.
参数string可以省略,此时将在文件中插入一个空行.
⑶ WriteBlankLines(NumOfLines)
在文件中插入若干空行,行数由 NumOfLines 指定.
2.用于读操作的方法和属性方法有:
⑴ AtEndOfLine
该属性是一个Boolean值,表示文件指针是否已指向当前行的行尾.
⑵ AtEndOfStream
该属性是一个Boolean值,表示文件指针是否已指向文件尾.
⑶ Column
该属性是一个整数值,表示文件指针在当前行中的位置.
⑷ Line
该属性是一个整数值,表示文件指针所在行的行号.
⑸ Read(NumOfCharacters)
该方法从文件当前位置开始,读入由NumOfCharacters数目指定的若干字符,返回一个
字符串.
⑹ ReadLine
该方法从文件当前位置开始,读入当前行的内容直到行尾,返回一个字符串.
⑺ ReadAll
该方法从当前位置开始,读入整个文件的内容直到文件结束,返回一个字符串.
⑻ Skip(NumOfCharacters)
该方法从文件当前位置开始,跳过由NumOfCharacters数目指定的若干字符.
⑼ SKipLine
该方法从文件当前位置开始,跳过当前行的内容.
3.用于关闭文件的方法有:
⑴ Close
关闭已经建立或打开的文件.
(三)、下面就以一个实例来说明如何使用FSO来读取文本文件和如何保存到数据库:
1、 先创建一个读取文件路径的页面:file.htm
…
<FORM METHOD=POST ACTION="upFile.asp" >
<div align="center"> <br>
<br>
<br>
<br>
<input type="file" name="path" size="40">
<INPUT TYPE="submit" name="dr" value="导入信息">
</div>
</FORM>
…
2、 编写把获取到的文本值保存到数据库代码:upFile.asp
<%@Language="VBScript"%>
<%Response.Buffer=true%>
<!--#include file="adovbs.inc"-->
<%
strConn="DSN=DataSourceName"
set Conn=Server.CreateObject("ADODB.Connection")
Conn.open strConn
set ObjComm=Server.CreateObject("ADODB.Command")
ObjComm.CommandText="sp_AddMsg" ‘调用存储过程
ObjComm.CommandType=adCmdStoredProc
Set ObjComm.ActiveConnection=Conn
''''''''''创建输入输出参数'''''''''''''''''
Set ObjParamECom=ObjComm.CreateParameter("WC_ECompanyName",adVarchar,adParamInput,100)
ObjComm.Parameters.Append ObjParamECom
'@in_ECompanyName Varchar(50), --公司英文名称
Set ObjParamAddr=ObjComm.CreateParameter("WC_Address",adVarchar,adParamInput,200)
ObjComm.Parameters.Append ObjParamAddr
'@in_Address Varchar(50), --公司地址
Set ObjParamCity=ObjComm.CreateParameter("WC_City",adVarchar,adParamInput,100)
ObjComm.Parameters.Append ObjParamCity
'@in_City Varchar(50), --城市
…
''''''''''创建参数完毕''''''''''''''''''''
%>
<%
dim AllText,strLine1,strLine2,strLine3
dim strpath,fileurl
fileurl=""
strpath=Trim(Request.form("path"))
fileurl=strpath
SET FSO=CreateObject("Scripting.FileSystemObject")
SET ATextStream=FSO.OpenTextFile(fileurl,1,false,TristateFalse)
'''''''''提取数据''''''''''''''''''''''''''''
DO WHILE NOT ATextStream.AtEndOfStream
''''''初始化变量''''''''''''''''
strLine1=""
strLine2=""
strLine3=""
…
'''''''''''''''''''''''''''''''
ATextStream.SkipLine
ATextStream.Skip(11)
strLine1=Trim(ATextStream.ReadLine)
ATextStream.Skip(11)
strLine2=Trim(ATextStream.ReadLine)
ATextStream.Skip(5)
strLine3=Trim(ATextStream.ReadLine)
…
'End if
''''''''''将变量加入参数集'''''''''''''
ObjParamECom.value=strLine1
ObjParamCCom.value=strLine2
ObjParamAddr.value=strLine3
…
''''''''''操作结束''''''''''''''''''''
ObjComm.Execute() '运行命令
LOOP
response.write "<br>"+"导入库成功!<a href=dolist.html>[继续导入]</a><br>"
set Conn=nothing
set FSO=nothing
set ATextStream=nothing
%>
附:存储过程sp_AddMsg代码
CREATE PROCEDURE dbo.sp_AddMsg --导入国外企业信息
(
@in_CompanyName Varchar(100), --公司名称
@in_Address Varchar(200), --公司地址
@in_City Varchar(100), --公司所在城市
…
)
AS
SET NOCOUNT ON
BEGIN TRAN
INSERT INTO Tb_WCLibrary(
WC_CompanyName,
WC_CCompanyName,
WC_Address,
…
)
VALUES(
@in_CompanyName,
@in_CCompanyName,
@in_Address,
…
)
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
RETURN -1
END
COMMIT TRAN
RETURN 0
SET NOCOUNT OFF
至此,全文内容讲解结束,希望这篇文章能给读者带来一定的帮助。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年11月24日
2024年11月24日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]