javascript读写本机文本文件

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

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来操作,浏览器会给一个大大的安全警告,呵呵,所以本文中的方法不适合给客户使用,自己人用用还可以。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏web前端

JavaScript基础学习--06js数据类型

一、ECMAScript:标准、核心,规定js中的语法、数据类型     (eg.  HTML标签类型:block、inline、inline-block、ta...

23090
来自专栏web前端

JavaScript之对数组中元素进行增删改

JavaScript中数据类型无非是:简单类型+复杂类型,什么是简单什么又是复杂。从电脑物理存储上讲,简单就是所见即所得,你看见什么,电脑里面存的就只是什么,并...

202100
来自专栏web前端

JavaScript基础学习--01热身

一、js大致思路: 1、完成静态HTML+CSS 2、过一遍整体的大致js思路 3、按照从上到下的,从有至无的顺序完成js编写(包括先写大致轮廓,再细化细节部分...

20490
来自专栏web前端

JavaScript基础学习--12 日期对象、时钟倒计时

Demos:   https://github.com/jiangheyan/JavaScriptBase 一、时间 var date = new Date...

227100
来自专栏web前端

JavaScript基础学习--05自定义属性、索引值

一、自定义属性      1、读写操作 <input abc="123" type="button" value="按钮" /> ==============...

21370
来自专栏web前端

JavaScript基础学习--零碎

1、如果WINDOW对象是常规HTML页面,TOP就是SELF       var top = document.getElementById('top'); ...

23670
来自专栏web前端

JavaScript基础学习--03图片翻转

一、利用纯js编写,兼容IE9以及IE9以上       1、两张图片重合排放,并且背面的图片display(none)。         2、点击事件中让正面...

29250
来自专栏web前端

JavaScript基础学习--11 定时器管理、函数封装

Demos:   https://github.com/jiangheyan/JavaScriptBase 一、定时器管理      1、var timer...

24480
来自专栏web前端

JavaScript基础学习--02属性操作

一、思路 1、模拟手机聊天思路:      a.静态页面html+css,包括双发短信发送成功后的基本样式。      b.获取头像、输入框、发送按钮和聊天内...

21790
来自专栏web前端

JavaScript基础学习--04for循环

一、自动生成100个Li思路:      1、html布局,在button中做点击事件      2、获取将要放置li的container容器,定义li,并拼接...

34580

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励