Javascript----文件操作
在JavaScript中进行文件操作主要依赖于`FileSystemObject`(FSO),这是一个强大的对象,用于读取、写入、创建和删除文件与目录。FSO属于ActiveX控件的一部分,因此在浏览器环境中通常不可用,主要用于服务器端脚本或桌面应用程序(如通过Windows Script Host)。 ### FileSystemObject的创建 要使用`FileSystemObject`,首先需要创建其实例。这可以通过以下代码完成: ```javascript var fso = new ActiveXObject("Scripting.FileSystemObject"); ``` 这里,`fso`变量现在是`FileSystemObject`的一个实例,可以用来执行各种文件和目录操作。 ### 文件操作 #### 创建文件 使用`CreateTextFile`方法可以创建一个文本文件。例如: ```javascript var f1 = fso.CreateTextFile("c:\\myjstest.txt", true); ``` 这里的第二个参数`true`表示如果文件已存在则覆盖它。 #### 获取文件信息 要获取一个文件的信息,如修改日期,可以使用`GetFile`方法。例如: ```javascript var f1 = fso.GetFile("c:\\myjstest.txt"); alert("File last modified: " + f1.DateLastModified); ``` 这将弹出一个对话框显示`c:\myjstest.txt`文件最后修改的时间。 ### 目录(驱动器和文件夹)操作 #### 驱动器信息 `FileSystemObject`还允许你获取有关驱动器的信息,如总空间、可用空间等。例如,获取C盘的信息: ```javascript var fso, drv, s = ""; fso = new ActiveXObject("Scripting.FileSystemObject"); drv = fso.GetDrive(fso.GetDriveName("c:\\")); s += "Drive C:" + "\n"; s += drv.VolumeName + "\n"; s += "Total Space: " + drv.TotalSize / 1024 + " Kb" + "\n"; s += "Free Space: " + drv.FreeSpace / 1024 + " Kb" + "\n"; alert(s); ``` #### 文件夹操作 `FileSystemObject`可以创建、删除和获取文件夹的信息。例如,创建一个名为`Bogus`的新文件夹: ```javascript fso.CreateFolder("C:\\Bogus"); ``` 并显示新创建的文件夹的基本名称: ```javascript alert("Basename=" + fso.GetBaseName("C:\\Bogus")); ``` ### 总结 `FileSystemObject`为JavaScript提供了一个强大的接口来操作文件系统,包括文件的读写、创建和删除,以及目录的管理。然而,需要注意的是,这些功能仅限于在支持ActiveX的对象环境中使用,如服务器端脚本处理或特定的桌面应用程序。在现代Web浏览器中,由于安全限制,直接使用FSO通常是不允许的。对于Web开发,推荐使用HTML5的File API或服务器端技术(如Node.js)来处理文件操作。
一、功能实现核心: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对象属性
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");
剩余5页未读,继续阅读
- 粉丝: 19
- 资源: 74
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 使用NetBeans连接SQLserver2008数据库教程中文WORD版最新版本
- XPath实例中文WORD版最新版本
- XPath语法规则中文WORD版最新版本
- XPath入门教程中文WORD版最新版本
- ORACLE数据库管理系统体系结构中文WORD版最新版本
- Sybase数据库安装以及新建数据库中文WORD版最新版本
- tomcat6.0配置oracle数据库连接池中文WORD版最新版本
- hibernate连接oracle数据库中文WORD版最新版本
- MyEclipse连接MySQL的方法中文WORD版最新版本
- MyEclipse中配置Hibernate连接Oracle中文WORD版最新版本