• 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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    android手机开发网
    Android 使用Google Weather制作天气预报程序
    android反编译xml文件
    在线MSDN
    工作的思考一:业务流和工作管理
    .NET Remoting技术文章汇总
    学习之路十四:客户端调用WCF服务的几种方法小议
    工作的思考二:无效的沟通
    ADO.NET 全面梳理
    工作的思考三:工作质量,计划制定,沟通交流
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1429535.html
Copyright © 2020-2023  润新知