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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值