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

    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    前端环境搭建
    mybatis
    An internal error occurred during: "Launching on Tomcat 7.x"
    mybatis批量添加、批量删除
    linux系统下怎么关闭一个端口
    httpclient传参类型与响应参数接收
    scheduled定时任务cron表达式知识地址
    ClassNotFoundException: http.nio.NHttpClientEventHandle
    发送请求工具—Advanced REST Client的安装使用
    linux下Tomcat配置提示权限不够解决办法
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1429535.html
Copyright © 2011-2022 走看看