js中利用ActiveXObject来创建FileSystemObject操作文件

1,功能实现的核心
要在js中实现文件操作功能,主要就是依靠FileSystemObject对象了。

2,FileSystemObject编程
使用FileSystemObject对象进行编程很简单,一般要经过如下的步骤:创建

FileSystemObject对象,应用相关的方法,访问相关的属性。FileSystemObject的api请

参考http://msdn.microsoft.com/en-us/library/z9ty6h50%28VS.85%29.aspx官方说明。

下面就用例子进行说明:
1,创建FileSystemObject对象

var fso = new ActiveXObject("Scripting.FileSystemObject");



操作文件(txt)
一,创建文件
一共有3种方法可用于创建一个空文本文件,这种文件有时候也叫做文本流(text stream)
1,使用createTextFile方法

var fso = new ActiveXObject("Scripting.FileSystemObject");
 var createFile = fso.createTextFile("c:\\testFile.txt",true);


true表示是否可以重写已经存在的文件。

2,使用openTextFile方法,并添加ForWriting属性

var fso = new ActiveXObject("Scripting.FileSystemObject");
 var openfile = fso.openTextFile("c:\\test.txt",2,true);

 ForReading    1    只读的形式打开文件
 ForWriting    2    可以写入打开的文件,重新写入,不会接着写
 ForAppending    8    在文件的末尾接着写入


true表示如果没有该文件,则创建该文件。

3,使用openAsTextStream方法,同样要设置ForWriting属性

var ForWriting = 2;
 var fso = new ActiveXObject("Scripting.FileSystemObject");
 fso.createTextFile("C:\\test.txt");
 var file = fso.getFile("C:\\test.txt");
 var openfile = file.openAsTextStream(ForWriting,true);


二,添加数据到文件中
当文件被创建后,一般要按照打开文件-填写数据-关闭文件的步骤实现添加数据到文件的

目的。打开文件可使用FileSystemObject对象的openTextFile方法,或者使用

FileSystemObject对象的openAsSTextStream方法。填写数据使用到FOS的write,

writeLine,writeBlankLines方法。三者的区别在于,write方法不在写入数据末尾添加新

换行符,writeLine方法要在最后添加一个新换行符,writeBlankLines则增加一个或者多

个空行。

var fso = new ActiveXObject("Scripting.FileSystemObject");
 //创建新文件
 var writeFile = fso.createTextFile("c:\\test.txt",true);true是否可以覆盖文件
 writeFile.write("write string without wrap");
 writeFile.close();



三,读取文件内容
从文本中读取数据要使用FOS对象的read,readLine或readAll方法。read方法用于读取文

件中指定数量的字符,readLine方法读取一整行,但不包括换行符,readAll方法则读取

文本文件的整个内容。读取的内容存放于字符串变量中,用于显示、分析。在使用read或

readLine方法读取文件内容时,如果要跳过一些部分,就要用到skip或skipLine方法。

var ForReading = 1;
 var fso = new ActiveXObject("Scripting.FileSystemObject");
 var file = fso.createTextFile("C:\\test.txt",true);
 file.write("Hello ActiveX");
 file.close();

 var openfile = fso.OpenTextFile("C:\\test.txt",ForReading);
 var content = openfile.readLine();
 alert(content);
 openfile.close();



四,移动、拷贝和删除文件
对于移动,拷贝,删除这三种文件操作,js各有两种对应的方法:File.move()或

FileSystemObject.moveFile用于移动文件;File.copy或FileSystemObject.copyFile用

于拷贝文件;File.delete或FileSystemObject.deleteFile用于删除文件。

var fso = new ActiveXObject("Scripting.FileSystemObject");
 var file = fso.createTextFile("c:\\test.txt",true);
 file.write("Hello ActiveX");
 file.close();
 var file1 = fso.getFile("c:\\test.txt");
 file1.move("c:\\tmp\\test.txt");
 file1.copy("c:\\temp\\test.txt");
 file1 = fso.getFile("c:\\tmp\\test.txt");
 file2 = fso.getFile("c:\\temp\\test.txt");
 file2.delete();
 file3.delete();



这里所列举的只是FileSystemObject的皮毛而已,更多内容请参考官方说明:

http://msdn.microsoft.com/en-us/library/z9ty6h50%28VS.85%29.aspx