在ASP.NET中,操作服务器端文件有两种方法,一种是与ASP兼容的方法,即使用FileSystemObject对象。另一种是使用.NET框架的System.IO命名空间的文件与目录类。
4.8.1 使用FileSystemObject对象
利用FileSystemObject对象操作文件的步骤是:
(1) 使用Server对象的CreateObject方法创建FileSystemObject对象。
(2) 使用OpenTextFile或CreateTextFile方法穿件File对象(File对象是FileSystemObject对象的子对象)。
(3) 使用File对象的ReadLine,ReadAll或WriterLine方法进行文件读写,读写完毕后使用File对象的Close方法关闭文件。
OpenTextFile方法的语法格式如下:
文件对象OpenTextFile(文件名,文件打开模式,是否自动建立文件)
其中,“文件名”应为完整的路径名。“文件打开模式”可设置为:ForReadLine或1,只读;ForAppending或8,只写,添加模式。改参数省略时,默认为只读模式。第三个参数“是否自动建立文件”是布尔值,为True表示当文件不存在时自动建立文件,为False表示当文件不存在时将报告错误,默认为False。
CreateTextFile方法的语法格式如下:
文件对象CreateTextFile(文件名,是否覆盖原文件)
其中,“文件名”应为完整的路径名,“是否覆盖原文件”是布尔值,为True表示当文档存在的时候将被覆盖,为False表示当文件存在时将报告错误,默认为True。
4-8-2使用System.IO命名空间的文件与目录类
Window文件系统和Unix文件系统都是流文件系统,简单说是将文件处理为字符流或二进制流,所以对文件的读写就是读取字符或二进制流,对文件的写入就是写入字符或二进制流。利用.NET Framework的System.IO命名空间提供的类来操作文件和目录,其读写核心就是流操作。由于System.IO不是预设的命名空间,所以要使用System.IO命名空间的类,必须先用引用System和System.IO;
(1) 目录和路径操作:操作目录可使用Directory或DirectoryInfo类,两者的差别仅在于Directory类的方法无需创建即可使用。
(2) 文件操作:File和FileInfo类,它们的差别也仅在于是否先要创建对象在使用方法,
(1) 首先使用File类的Create,CreateText,Open,OpenRead,OpenWrite或OpenText方法创建或打开文件。
(2) 然后使用StreamReader或StreamWrite对象读取或写入文本文件,或使用FileStream对象读写文本文件。
(3) 最后使用Close方法关闭文件。