javascript读写本机文本文件

近日在工作中遇到了一个情况:一张纯html的网页,用它一条一条输入数据,然后由JS运算出结果(这些数据多半都是临时的,所以也没考虑保存到数据库),每次用完后换台电脑或出去搞活动现场演示时,又得重新输入一些数据,比较麻烦!市场部的同事要求最好能将在公司测试时一些临时数据导出来,到现场时,直接导入就可以了。当时我的第一反应是利用客户端js,把数据post到服务端保存,再由js通过ajax方式加载服务端的数据–即用服务端中转实现数据的导出和加载。后来想了想,就是一些偶尔用用的小玩意儿,还要用到服务端编程未免太麻烦了,于是研究了下JS直接读写文件,发现其实也可以实现:

 

《javascript读写本机文本文件》
《javascript读写本机文本文件》
Code

<script type=text/javascript> 
/*
FileExists(filepath)是验证文件是否存在的方法,filepath是文件路径
OpenTextFile,第二个参数有三种方式,都是常量:
ForReading=1          以只读方式打开文件。 不能写这个文件。
ForWriting=2          以写方式打开文件
ForAppending= 8       打开文件并从文件末尾开始写。
*/

var oFso,oFile,sFile,sContent;
sFile 
= c:\\luckty.txt;

//写文件
oFso = new ActiveXObject(Scripting.FileSystemObject);  
oFile 
= oFso.OpenTextFile(sFile,2,true); //写方式打开
oFile.WriteLine(菩提本无树,明镜亦非台,本来无一物,何处惹尘埃!);      
oFile.Close();  

//读文件
oFile = oFso.OpenTextFile(sFile,1);  //只读方式打开
sContent = oFile.ReadLine();
oFile.Close();  

document.write(sFile + 文件内容为:<br/><br/> + sContent);
</script>
</head>

 

FileSystemObject这东东,相信只要以前弄过asp的哥们,对它再熟悉不过了(想当初做asp编程的年代,几乎就指望着FileSystemObject/Adodb.Recordset/Adodb.Connection这三个对象过日子^_^)

值得说明的是,利用ActiveX来操作,浏览器会给一个大大的安全警告,呵呵,所以本文中的方法不适合给客户使用,自己人用用还可以。

    原文作者:菩提树下的杨过
    原文地址: http://www.cnblogs.com/yjmyzz/archive/2009/04/04/1429535.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞