Javascript----文件操作[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 zhaoweiwei 的 blog


一、功能实现核心:filesystemobject 对象 
    要在javascript中实现文件操作功能,主要就是依靠filesystemobject对象。
二、filesystemobject编程 
使用filesystemobject 对象进行编程很简单,一般要经过如下的步骤: 创建filesystemobject对象、应用相关方法、访问对象相关属性 。 
(一)创建filesystemobject对象 
创建filesystemobject对象的代码只要1行: 
var fso = new activexobject("scripting.filesystemobject"); 
上述代码执行后,fso就成为一个filesystemobject对象实例。 
(二)应用相关方法 
创建对象实例后,就可以使用对象的相关方法了。比如,使用createtextfile方法创建一个文本文件: 
var fso = new activexobject("scripting.filesystemobject"); 
var f1 = fso.createtextfile("c:\\myjstest.txt",true"); 
(三)访问对象相关属性 
要访问对象的相关属性,首先要建立指向对象的句柄,这就要通过get系列方法实现:getdrive负责获取驱动器信息,getfolder负责获取文件夹信息,getfile负责获取文件信息。比如,指向下面的代码后,f1就成为指向文件c:\test.txt的句柄: 
var fso = new activexobject("scripting.filesystemobject"); 
var f1 = fso.getfile("c:\\myjstest.txt"); 
然后,使用f1访问对象的相关属性。比如: 
var fso = new activexobject("scripting.filesystemobject"); 
var f1 = fso.getfile("c:\\myjstest.txt"); 
alert("file last modified: " + f1.datelastmodified); 
执行上面最后一句后,将显示c:\myjstest.txt的最后修改日期属性值。 
但有一点请注意:对于使用create方法建立的对象,就不必再使用get方法获取对象句柄了,这时直接使用create方法建立的句柄名称就可以: 
var fso = new activexobject("scripting.filesystemobject"); 
var f1 = fso.createtextfile("c:\\myjstest.txt",true"); 
alert("file last modified: " + f1.datelastmodified); 
三、操作驱动器(drives) 
使用filesystemobject对象来编程操作驱动器(drives)和文件夹(folders)很容易,这就象在windows文件浏览器中对文件进行交互操作一样,比如:拷贝、移动文件夹,获取文件夹的属性。 
(一)drives对象属性 
drive对象负责收集系统中的物理或逻辑驱动器资源内容,它具有如下属性: 
l totalsize:以字节(byte)为单位计算的驱动器大小。 
l availablespace或freespace:以字节(byte)为单位计算的驱动器可用空间。 
l driveletter:驱动器字母。 
l drivetype:驱动器类型,取值为:removable(移动介质)、fixed(固定介质)、network(网络资源)、cd-rom或者ram盘。 
l serialnumber:驱动器的系列码。 
l filesystem:所在驱动器的文件系统类型,取值为fat、fat32和ntfs。 
l isready:驱动器是否可用。 
l sharename:共享名称。 
l volumename:卷标名称。 
l path和rootfolder:驱动器的路径或者根目录名称。 
(二)drive对象操作例程 
下面的例程显示驱动器c的卷标、总容量和可用空间等信息: 
var fso, drv, s =""; 
fso = new activexobject("scripting.filesystemobject"); 
drv = fso.getdrive(fso.getdrivename("c:\\")); 
s += "drive c:" + " - "; 
s += drv.volumename + "\n"; 
s += "total space: " + drv.totalsize / 1024; 
s += " kb" + "\n"; 
s += "free space: " + drv.freespace / 1024; 
s += " kb" + "\n"; 
alert(s); 
四、操作文件夹(folders) 
涉及到文件夹的操作包括创建、移动、删除以及获取相关属性。 
folder对象操作例程 :
下面的例程将练习获取父文件夹名称、创建文件夹、删除文件夹、判断是否为根目录等操作: 
var fso, fldr, s = ""; 
// 创建filesystemobject对象实例 
fso = new activexobject("scripting.filesystemobject"); 
// 获取drive 对象 
fldr = fso.getfolder("c:\\"); 
// 显示父目录名称 
alert("parent folder name is: " + fldr + "\n"); 
// 显示所在drive名称 
alert("contained on drive " + fldr.drive + "\n"); 
// 判断是否为根目录 
if (fldr.isrootfolder) 
alert("this is the root folder."); 
else 
alert("this folder isn't a root folder."); 
alert("\n\n"); 
// 创建新文件夹 
fso.createfolder ("c:\\bogus"); 
alert("created folder c:\\bogus" + "\n"); 
// 显示文件夹基础名称,不包含路径名 
alert("basename = " + fso.getbasename("c:\\bogus") + "\n"); 
// 删除创建的文件夹 
fso.deletefolder ("c:\\bogus"); 
alert("deleted folder c:\\bogus" + "\n"); 
五、操作文件(files) 
对文件进行的操作要比以上介绍的驱动器(drive)和文件夹(folder)操作复杂些,基本上分为以下两个类别:对文件的创建、拷贝、移动、删除操作和对文件内容的创建、添加、删除和读取操作。下面分别详细介绍。 
(一)创建文件 
一共有3种方法可用于创建一个空文本文件,这种文件有时候也叫做文本流(text stream)。 
第一种是使用createtextfile方法。代码如下: 
var fso, f1; 
fso = new activexobject("scripting.filesystemobject"); 
f1 = fso.createtextfile("c:\\testfile.txt", true); 
第二种是使用opentextfile方法,并添加上forwriting属性,forwriting的值为2。代码如下: 
var fso, ts; 
var forwriting= 2; 

本文关键:javascript
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top