第17章JavaScript操作本地文件讲述.ppt
文本预览下载声明
第17章 JavaScript操作本地文件 JavaScript的应用不仅仅可以用来实现Web页面的特效,作为一种强大的脚本语言,JavaScript完全可以完成很多本地可执行程序能够完成的任务。本章将讲述如何使用JavaScript操作本地的文件系统。 本章将介绍: FSO对象和浏览器的安全性问题 “FSO”对象的属性和方法 磁盘驱动器、文件和文件夹对象的属性和方法 操作文本流来对文件进行读写操作 17.1 示例:文件浏览器 代码17-1.hta是一个本地的文件夹浏览器,可以用于浏览本地的文件夹和文件。其实现了动态读取本地文件系统的内容。 17.2 FSO对象和浏览器安全性限制 由于“ActiveX”控件可以对浏览器本地的系统进行操作,因此出于安全性考虑,浏览器对于“ActiveX”控件的使用有着比对脚本严格的多的限制。图17.4是“Internet Explorer”浏览器的默认安全性设置。 17.3 文件系统对象 “Scripting.FileSystemObject”控件对文件系统的操作,通过文件系统对象(“FSO”对象)来实现。通过“new ActiveXObject()”方法创建的时候,返回的对象就是一个FSO对象。脚本可以通过操作此对象的属性和方法来获取的文件系统的基本控制。 17.3.1 FSO对象的属性和遍历驱动器集合 FSO对象只有一个属性:“Drives”。此属性返回系统中所有的磁盘驱动器的集合。 代码17-2.hta是一个使用此属性获取系统磁盘信息的例子。 17.3.2 FSO对象的方法(一) FSO支持的方法主要用于操作系统的文件和目录,实现创建、修改、删除、拷贝和移动目录和文件等操作。下面将按字母表顺序依次介绍FSO对象的方法。 17.3.3 FSO对象的方法(二) “GetDriveName”方法解析给定的参数字符串,返回指定路径的驱动器名称,其语法为: drvName = fso.GetDriveName(path); 参数“path”必须,字符串型,为需要解析的路径。此方法并不会解析此路径,也不会判断此路径是否存在,其作用仅仅是操作给定的参数字符串,并返回其路径所在的驱动器名称。例如下面的代码: drvName = fso.GetDriveName(“C:\\data\\text\\hutia”); 则执行后,变量“drvName”获得的返回值为“C:”。如果给出的参数无法被解析,则此方法返回一个空字符串(””)。 17.4 文件、文件夹和文本流对象 文件和文件夹对象是自“Scripting.FileSystemObject”衍生出的子对象。无法直接通过脚本生成,但是可以通过“FSO”对象的“GetFile”和“GetFolder”方法来获取。文本流对象是对文件进行读写操作时的界面对象,可以通过FSO对象的“OpenTextFile”方法或者文件对象的“OpenAsTextStream”方法的返回值来获得。 17.4.1 文件对象的属性和方法 表17.1列出了文件对象的属性。 文件对象的“Attribute”属性可以用于设置或返回文件的属性,其值为若干可能属性的组合。 文件对象的方法有:“Copy”、“Delete”、“Move”和“OpenAsTextStream”。 17.4.2 文件夹对象的属性和方法 表17-3是文件夹对象所有的属性列表。 由上表可以看出,文件夹对象与文件对象所具有的大体类似。文件夹对象相比于文件对象多出三个属性:“IsRootFolder”、“Files”和“SubFolders”。 17.4.3 文本流对象的属性和方法 文本流对象是JS操作文件,实现对文件读写的关键对象。 文本流对象的属性有:“AtEndOfLine”、“AtEndOfStream”、“Column”和“Line”。这些属性均为只读。“AtEndOfLine”布尔型,标识指针是否位于行的末尾。 文本流对象的方法有:“Close”、“Read”、“ReadAll”、“ReadLine”、“Skip”、“SkipLine”、“Write”、“WriteBlankLines”和“WriteLine”。 17.5 FSO应用示例—文本加密与解密 为了使读者对JS对文件系统操作的应用有一个更
显示全部