⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 19-2.cfm.htm

📁 asp.net 应用开发教程,非常实用
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>在一个文件中读写数据</TITLE>
</HEAD>
<BODY LINK="#0000ff">

<B><FONT FACE="宋体" LANG="ZH-CN" SIZE=5><P ALIGN="JUSTIFY">在一个文件中读写数据</P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">    这部分介绍如何读写一个文本文件。这对文本文件有很多用处,包括下面这些。</P>
<B><P ALIGN="JUSTIFY">■</B>一个常用的日志,利用文本文件记录访问者的活动以供日后参考。你可以记录诸如访问者IP地址,浏览器类型等等你能得到而且想要了解的东西。</P>
<B><P ALIGN="JUSTIFY">■</B>Form中的数据,你可以将用户在Form的文本框中填写的东西记入文本文件,尽管使用数据库会更加有效。</P>
<B><P ALIGN="JUSTIFY">■</B>每日新闻,将每日的新消息记录到文本文件,然后可以在很多文件中读出来显示</P>
<B><P ALIGN="JUSTIFY"> </P>
</FONT><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">对文本文件的写操作</P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">    要创建并且写入一个文本文件,你应当使用FileSystemObject和TextStream对象。首先,你需要创建一个FileSystemObject对象的事例,然后,再利用CreateTextFile()以该事例创建一个TextStream对象的事例,最后利用TextStream对象的WriteLine()方法来写入文件。下面是这个例子:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">&lt;%</P>
<P ALIGN="JUSTIFY">Set MyFileObject=Server.CreateObject(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Scripting.FileSystemObject</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">Set MyTextFile=MyFileObject.CreateTextFile(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>c:\mydir\test.txt</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">MyTextFile.WriteLine(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>欢迎进入迈至科网络ASP教程文件操作示例!</FONT><FONT SIZE=3>”</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">MytextFile.Close</P>
<P ALIGN="JUSTIFY">%&gt;</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">    这个例子创建了一个名字为test.txt的文件,该文件位于c:\mydir\,WriteLine()方法被用来将那一句话写入该文件。最后,这个TextStream对象的事例关闭并且释放所有资源,下面部分将对每一个步骤进行仔细解释。</P>
<P ALIGN="JUSTIFY"> </P>
<B><P ALIGN="JUSTIFY">注意</P>
</B><P ALIGN="JUSTIFY">    如果你需要虚拟路径转化为真实路径(这样操作使得站点具有更强的可移植性),可以用Server.MapPath()方法,例如下面这个例子:</P>
<P ALIGN="JUSTIFY">PhysicalPath=Server.MapPath(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>/private/test.txt</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">假设虚拟路径/private对应于真实路径c:\net\private,那么这个PhysicalPath的值将是c:\net\private\test.txt</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">    CreateTextFile()方法用来创建一个新的文本文件,当这个方法被调用,那么就返回一个TextStream对象,这个方法有一个必须的参数和两个可选的参数。</P>
<B><P ALIGN="JUSTIFY">■</B>FileSpecifier,限定要创建的文件及路径,如果没有这个参数,显然是要报错的。</P>
<B><P ALIGN="JUSTIFY">■</B>Overwrite,这个参数是可选的,默认为TRUE,如果存在同名的文件,依据这个参数判断是否进行覆盖操作,如果赋为FALSE,那么存在同名文件时会返回错误信息。</P>
<B><P ALIGN="JUSTIFY">■</B>Unicode,这个参数可选,默认为False,指示该文件是否用ASC码形式进行创建和保存。如果选择TRUE,将以Unicode方式创建。</P>
<P ALIGN="JUSTIFY">    </P>
<P ALIGN="JUSTIFY">    再利用CreateTextFile()方法创建了文本文件后,你就可以使用TextStream对象来对文件进行读写,在写操作时,有如下的方法:</P>
<B><P ALIGN="JUSTIFY">■</B>Write(String).这个方法将一个字段写入文本文件。</P>
<B><P ALIGN="JUSTIFY">■</B>WriteLine(String),这个方法是在文件中添加字串和一个分行符,这里面的string参数可选,如果没有的话,则添加一个分行符。</P>
<B><P ALIGN="JUSTIFY">■</B>WriteBlankLines(lines),顾名思义,这是允许用户在文件中指定数目个分行符。</P>
<B><P ALIGN="JUSTIFY">■</B>close.这个方法就是关闭一个打开的TextStream文件并释放其占用的资源。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">下面是一个连续在文件中输出32行同样字符串的例子脚本:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">&lt;% </P>
<P ALIGN="JUSTIFY">Set MyFileObject=Server.CreateObject(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Scripting.FileSystemObject</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">Set MyTextFile=MyFileObject.CreateTextFile(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>c:\mydir\test.txt</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">For i=1 to 32</P>
<P ALIGN="JUSTIFY">    MyTextFile.WriteLine(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Hello World!</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">Next</P>
<P ALIGN="JUSTIFY">MyTextFile.Close</P>
<P ALIGN="JUSTIFY">%&gt;</P>
<B><P ALIGN="JUSTIFY"> </P>
</FONT><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">在文本文件中读取和追加数据</P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">    这里,首先要做的依然是创建一个FileSystemObject对象的事例,然后,利用OpenTextFile()方法来创建一个TextStream对象的事例,最后,你就可以用TextStream对象的ReadLine方法来对文件读取,下面是个例子:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">&lt;%</P>
<P ALIGN="JUSTIFY">Set MyFileObject=Server.CreateObject(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Scripting.FileSystemObject</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">Set MyTextFile=MyFileObject.OpenTextFile(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>c:\mydir\test.txt</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">While not MyTextFile.AtEndOfStream</P>
<P ALIGN="JUSTIFY">   Response.Write(MyTextFile.ReadLine)</P>
<P ALIGN="JUSTIFY">Wend</P>
<P ALIGN="JUSTIFY">MyTextFile.Close</P>
<P ALIGN="JUSTIFY">%&gt;</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">    这个脚本将文本文件Test.txt文件中所有的内容读出来并且显示在浏览器上。如果文件不存在,回显示相应错误信息(在下一个部分,你会学到怎样检测一个文件是否存在)</P>
<P ALIGN="JUSTIFY">其中While</FONT><FONT SIZE=3>…</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Wend循环是将文件内容一行一行的循环读取,其中如果没有到达文件末尾,那么AtEndOfStream属性就会是False,直到末尾时变为True。</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">    下面是读取文件时可能会用到的属性:</P>
<B><P ALIGN="JUSTIFY">■</B>AtEndOfLine。这个属性判断是否到了文件中一个特定行的末尾,如果不是,则为False,反之为True</P>
<B><P ALIGN="JUSTIFY">■</B>AtEndOfStream。就是这个例子中用到的,判断是否到了该文件的结尾并依此返回True和False</P>
<B><P ALIGN="JUSTIFY">■</B>Column。这个属性判断当前字符在该行的位置,返回一个整数值。</P>
<B><P ALIGN="JUSTIFY">■</B>Line。这个属性判断当前行在文件中的行数,返回一个整数值</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">    除了使用ReadLine方法以外,你当然还可以使用Read()方法。Read()方法会从指定打开的文本文件中返回指定数目个字符。下面是用这个方法的示例:</P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">&lt;%</P>
<P ALIGN="JUSTIFY">Set MyFileObject=Server.CreateObject(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>Scripting.FileSystemObject</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">Set MyTextFile=MyFileObject.OpenTextFile(</FONT><FONT SIZE=3>“</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>c:\mydir\test.txt</FONT><FONT SIZE=3>”</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)</P>
<P ALIGN="JUSTIFY">While NOT MyTextFile.AtEndOfLine</P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -