在客户端使用 Javascript,文件处理

分享于 

5分钟阅读

Web开发

  繁體 雙語

介绍

JavaScript具有非常丰富的方法和属性集合,可以创建。操作和管理驱动器。文件和文件夹。 你可以像使用任何其他现代编程语言一样使用 JavaScript。 例如可以使用它打开文件。写入文件。从文件中读取等等。

使用代码

可以使用 FileSystemObject 对象和它的属性和方法来完成JavaScript中的文件处理。 这里对象是Microsoft脚本的一部分,因此它仅适用于微软 Windows 操作系统。

下面的代码在指定位置创建一个新文件,并将行"JavaScript中的文件处理"写入其中。

var fso = new ActiveXObject("Scripting.FileSystemObject");// 2=overwrite, true=create if not exist, 0 = ASCIIvarFileObject = fso.OpenTextFile("C:Sachin.txt", 2, true,0);
varFileObject.write("File handling in Javascript");
varFileObject.close();

函数 OpenTextFile的参数如下:

参数 1: PATH - 在客户端机器上指定的路径下创建文件。 如果只在这里提到了文件名,那么文件将保存在客户端系统的桌面。

参数 2: I/O 模式,指示文件打开的模式。 可能的值包括:

  • 1: 打开用于读取的文件。
  • 2: 打开要写入的文件。
  • 8: 打开要追加的文件。

参数 3: 如果 CREATE 不存在或者在文件不存在时发出错误消息,则是指示是否创建文件的布尔值。

参数 4: FORMAT 是可选的,指示文件类型。 如果未指定,则默认文件类型为 ASCII。 格式的可能值包括:

  • TristateUseDefault - 2: 使用系统默认值打开文件
  • TristateTrue -1: 将文件作为Unicode打开
  • TristateFalse 0: 以ASCII形式打开文件

以下是 FileSystemObject 为文件处理提供的一些方法:

MoveFile(source, destination)
MoveFolder(source, destination)
CopyFile(source, destination, overwriteFlag) //overwriteFlag= true/falseCopyFolder(source, destination, overwriteFlag) //overwriteFlag= true/falseCreateFolder(folderName)
CreateTextFile(fileName, overwriteFlag)//overwriteFlag= true/falseDeleteFile(fileName, readPermissionFlag)//readPermissionFlag= true/falseDeleteFolder(folderName, readPermissionFlag)//readPermissionFlag= true/falseDriveExists(letterDrive)
FileExists(fileName)
FolderExists(folderName)
GetSpecialFolder(folderCode) /* The given folderCode is either 0 for a 
windows folder, 1 for a system folder, or 2 for a temporary folder. 
A full path is returned. On a typical installation,"c:windows" 
is returned as the windows folder,"c:windowssystem" is returned 
as the system folder, and"c:windowstemp" is returned as the temporary folder. */

Points of Interest

实现 FileSystemObject 之前需要注意一些事项。 因为它是ActiveX对象,所以如果客户端机器上的安全级别是高的,它将不会被创建。 因此,网站必须添加到可信站点列表中,以便创建ActiveX对象。

用户在创建文件时必须在指定路径中具有写访问权限。 如果存在不确定性,最好将文件写到系统的临时文件夹中。 临时文件夹的路径可以通过以下方式找到:

GetSpecialFolder(2)

上面 主题仅适用于 IE。 below 链接给出了如何在Mozilla中实现文件操作的想法。 可以使用 below 代码检查浏览器类型:

if (navigator.userAgent.indexOf("Opera")> = 0)
{
 alert("This example doesn't work in Opera") ; 
 return ;
}if (navigator.userAgent.indexOf("MSIE")> = 0)
{ 
 alert("This example works in IE") ; 
 return ;
} if (navigator.userAgent.indexOf("Mozilla")> = 0)
{
 alert("This example doesn't work in Mozilla") ; 
 alert("Check the following link: <a href="http://www.mozilla.org/js/js-file" + "-object.html" title="http://www.mozilla.org/js/js-file-object" + 
 ".html">http://www.mozilla.org/js/js-file-object.html</a>") ;return ;
}//

相关文章