首页 > 代码库 > js读取修改创建txt文本类型文件(.ini)

js读取修改创建txt文本类型文件(.ini)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <script language="javascript" type="text/javascript">
        /*    
        object.OpenTextFile(filename[, iomode[, create[, format]]])    
        参数    
        object    
        必选项。object 应为 FileSystemObject 的名称。    
        filename    
        必选项。指明要打开文件的字符串表达式。    
        iomode    
        可选项。可以是三个常数之一:ForReading 、 ForWriting 或 ForAppending 。    
        create    
        可选项。Boolean 值,指明当指定的 filename 不存在时是否创建新文件。如果创建新文件则值为 True ,如果不创建则为 False 。如果忽略,则不创建新文件。    
        format    
        可选项。使用三态值中的一个来指明打开文件的格式。如果忽略,那么文件将以 ASCII 格式打开。    
        设置    
        iomode 参数可以是下列设置中的任一种:    
        常数 值         描述    
        ForReading 1 以只读方式打开文件。不能写这个文件。    
        ForWriting 2 以写方式打开文件    
        ForAppending 8 打开文件并从文件末尾开始写。    
  
        format 参数可以是下列设置中的任一种:    
        值              描述    
        TristateTrue 以 Unicode 格式打开文件。    
        TristateFalse 以 ASCII 格式打开文件。    
        TristateUseDefault 使用系统默认值打开文件。    
        */

        //读文件     
        function readFile(filename) {
            var fso = new ActiveXObject("Scripting.FileSystemObject");
            var f = fso.OpenTextFile(filename, 1);
            var s = "";
            while (!f.AtEndOfStream) {
                var txt = f.ReadLine();
                s += txt + "\n";
            }
            f.Close();
            return s;
        }

        //写文件--增加行     
        function writeFile(filename, filecontent) {
            var fso, f;
            fso = new ActiveXObject("Scripting.FileSystemObject");
            f = fso.OpenTextFile(filename, 8, true);
            f.WriteLine(filecontent);
            f.Close();
            alert(ok);
        }

        //写文件--替换文本 filecontent 为数组,每组为一行数据
        function writeAlter(filename, filecontent) {
            var fso, f;
            fso = new ActiveXObject("Scripting.FileSystemObject");
            f = fso.OpenTextFile(filename, 2, true);
            for (var i = 0; i < filecontent.length; i++) {
                f.WriteLine(filecontent[i]);
            }
            f.Close();
            alert(ok);
        }

        //写入新文件--读取文件,修改id 值,创建新文件覆盖
        function writeFileInI(filename) {
            var fso,f;
            fso = new ActiveXObject("Scripting.FileSystemObject");
            f = fso.CreateTextFile(filename); //创建文件
            var txt = document.getElementById("show").value.split("\n");
            for (var i = 0; i < txt.length; i++) {
                if (/id=/.test(txt[i])) {
                    txt[i] = "id=" + "R99999999999999999";
                }
                f.WriteLine(txt[i]);
            }
            f.close();
            alert(ok);
        }

        //获取值
        function getTxtData(val) {
            var txt = document.getElementById("show").value.split("\n");
            for (var i = 0; i < txt.length; i++) {
                if (/id=/.test(txt[i])) {
                    txt[i] = "id=" + val;
                }
            }
            return txt;
        }
    </script>
    <input type="text" id="in" name="in" />
    <input type="button" value="Write!" onclick="writeFile(‘D:\\a.ini‘,document.getElementById(‘in‘).value);" /><br>
    <br>
    <input type="button" value="Read!" onclick="document.getElementById(‘show‘).value=http://www.mamicode.com/readFile(‘D://a.ini‘);" /><br>
    <textarea id="show" name="show" cols="100" rows="20">     
</textarea>
    <input type="button" value="writeFileInI!" onclick="writeFileInI(‘D:\\a.ini‘)" /><br>
    <input type="button" value="writeAlterInI!" onclick="writeAlter(‘D:\\a.ini‘,getTxtData(‘R999999999‘))" /><br>
</body>
</html>

 

此处操作的是客户端文本文件。